点击空白处退出提示
作品详情
使用技术:
springCloudAlibaba、springBoot、mybatis、nacos、feign、ES、rocketMq、mysql、canal、redis、elk
schedulerX、jenkins、k8s、arms、yapi
项目描述:经销商管理系统【CRM模块】组成主要有以下微服务
1. 客档管理微服务:管理个人客户、公司客户、人车关系、客户授权等客户信息相关的数据,作为DMO项目核心模块和上下游业务微服务、以及第三方系统有大量的数据读写交互
2. 审计日志微服务: 用于记录客档、公司、人车、客户授权等数据变更日志;主要使用canal+rocketmq+es实现binlog的监听、消费以及查询展示
3. 导出微服务:CRM模块客户信息、人车关系等列表数据的导出服务
4. 内部消费者服务:客档服务与DMO内部上线游业务服务的MQ交互,以及客档自产自销的MQ消费
5. 外部消费者服务:CRM模块与第三方系统的MQ交互服务,内部通过feign的方式调用DMO内部具体的业务处理接口
6. 经销商关停并转微服务:用于将老经销商的数据迁移到一家新经销商中,完成新老店的数据迁移
技术描述:
1. mysql+shardingsphere:自定义路由规则,使用经销商Id作为shardingValue结合nacos配置中经销商Id数据库映射表实现海量数据的分库操作
2. mysql+canal+rocketMq:监听数据库binlog,使用主键作为分区Key发送分区顺序消息到rocketmq,供内部消费者消费实现数据同步,数据上报等功能
3. Es集群:消费canal消息实现mysql、es的同步,支持提供列表页的查询功能,客档ES索引使用经销商ID作为routingKey来平衡地分配数据和查询负载
4. Redis+springcache:通过redis缓存层缓存常用客档信息详情,保护mysql数据库
5. 雪花算法:分库设计中分布式主键ID通过雪花算法生成
6. 使用jasyptStringEncryptor+阿里云KMS实现nacos配置加密;通过自定义logstash的ValueMasker类实现日志脱敏写入到elk中
7. jenkins+k8s:服务发布流水线
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论