某保险公司微信公众号

我要开发同款
我是大叔2023年02月12日
86阅读
所属分类netty、rocketmq、springboot微信公众号

作品详情

9000多万用户的微信公众号售后的平台,可以在线办理各种保全操作,比如联系方式变更,银行账号变更,缴费频率变更,续期,OCR在线识别,理赔申请,积分兑换等业务,此外该微信平台还能进行营销发布后台保全管理系统:对接该公司保险核心数据库,核心数据库会提供api,从而能进行所有的保全操作,也能进行客户管理,包括各个渠道客户的管理,客户等级的管理,保单的管理,理赔处理等核心业务。整个项目采用前后端分离开发方式:前端:angular+H5后端:开发框架采用springboot+springcloud,数据访问使用mybatis,中间件使用了redis,rocketmq,sharding jdbc该项目代码层架构:基于DDD六边形架构分层该项目物理架构:nginx代理后端网关(基于netty自研的网关)集群且nginx开启了限流(连接数限流,以及访问频率限流),网关再分发到具体业务微服务,服务之间调用使用feign,配置中心基于自研。数据库层面基本上一个服务一个库,对于核心业务考虑分表分库,数据库高可用为2主2从(并引入了haproxy和keepalived这两个工具进行从库负载均衡及各个数据库实例可用状态监测)Redis高可用:使用Redis Sentinel方案保证redis高可用队列高可用:rocketmq采用多Master多Slave同步复制模式对于微信端可能产生大流量访问的业务,使用mq进行削峰处理,对于产生订单,支付,通知等顺序的业务,使用rocketmq的顺序模式项目亮点:1、保证系统稳定运行及高可用,基本上按照集群部署或者多主多从的方式部署2、Nginx开启限流,在并发情况下一定程度保护了后端服务3、完善自研的网关和配置中心(比如网关中缓存后端服务,这样网关路由到后端服务时,直接取缓存就行,网关加入定时任务,拉取注册中心中各个服务,配置中心加入配置项变更后广播到对应的服务)4、DDD六边形代码分层,保障核心业务都在领域层5、高并发情况,比如下单业务,使用队列进行削峰入库处理,但入库会有时间延时,所以在入队列之前引入缓存,这样查询的时候就算入库没有完成,也可以先查询缓存6、分布式事务使用rocketmq的事务消息方式处理,也自研了一套基于netty的文件存储的分布式事务框架(但后来开发的不是很成熟,没有使用,但作为了我们公司的一个技术沉淀)
查看全文
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论