点击空白处退出提示
作品详情
技术上:由于对业务进行了划分,整体项目采用springcloud作为微服务进行开发,实施过程中,严格按照一个业务一个服务,一个业务一个库的方式进行微服务建设(除了由于历史原因,个别太重要,又耦合性较高的数据还是放在一个库中,其他都是一个业务,一个库),考虑到系统的以后的扩展性,整个项目充分利用设计模式:责任链(单据状态流转),策略(消除太多的if else),适配器(调用第三方接口和我们自己内部数据对象一直),模板方法(提取功能方法),门面(隐藏具体实现细节,提供统一访问入口访问具体的多个接口),工厂,装饰,观察者等。
架构上:前后端分离,用nginx代理后端网关集群(springcloud gateway),网关再转发到后端服务,服务之间feign调用,服务链路追踪使用skywalking,配置和注册中心用nacos,同样也是用nginx来代理nacos集群。对于体量大的业务,采用分表分库处理。服务之间跨事务,使用消息队列rocketmq进行最终一致性处理,涉及到检索业务,比如图纸归档信息等都是同步到es,进行后续的检索。对于历史聚合查询目前都是T+1处理(因为目前体量不是很大),但考虑到后续数据增长,到时不光要历史聚合查询,还要做成实时聚合分析处理,已建议选用MPP数据库doris(兼容mysql协议)
1、老系统业务整理,业务边界确定,业务拆分,提取公共功能
2、根据每个业务设计数据库,对于需要分表分库的确定分片键
3、整个项目人员团队管理及主持日常开发会议
4、定期与客户方面沟通项目进展及方案等
5、代码质量的把控及review
7、整个项目框架的搭建(采用DDD六边形架构)
8、使用设计模式抽象底层功能,提高扩展性及降低代码耦合性
9、项目代码的编写,处理线上问题,及JVM调优
10、优化分布式锁
11、利用网关实现灰度发布
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论