点击空白处退出提示
妙健康APP
我要开发同款作品详情
INbeS81n202205071438 条闭环健康解决方案。 基于Spring Cloud Netflix作为微服务技术选型,包括健康管理系统、健康头条系统、在线问诊系统、妙药商城系统。 项⽬职责 项目管理,根据需求文档安排每位员工的开发周期、每周的工作计划,每天项目中问题总结,保证项目进度。 负责整个健康头条系统中资讯、课程搜索、详情查看,智能推荐。 负责整个健康管理系统健康评测模块、推荐健康计划、每日健康任务生成、记录。 负载情况 总⽤户量1.2亿,⽇活跃⽤户量6000万,峰值⽤户2600万。 技术挑战、解决⽅案 先删缓存,再更新数据库导致缓存双写不一致问题 解决方案 采用RocketMQ去解决这个问题,创建40个队列,根据商品的ID去做hash值,然后对队列个数取摸,当有数 据更新请求时,先把它丢到队列里去,当更新完后在从队列里去除,如果在更新的过程中,有查询请求过来, 先去缓存里看下有没有数据,如果没有,可以先去队列里看是否有相同商品ID在做更新,如果有也把查询的请 求发送到队列里去,然后同步等待缓存更新完成。这里有一个优化点,如果发现队列里有一个查询更新缓存请 求了,那么就不要放新的操作进去了,用一个while(true)循环去查询缓存,循环个200MS左右,如果缓存 里还没有则直接取数据库的旧数据。 缓存崩溃导致数据库压力过大,甚至宕机问题 解决方案 采用Nginx+redis集群+ehcache本地缓存三级缓存策略,若redis集群宕机,不至于大量的请求直接打到数据 库,导致数据库宕机,同时为了redsi集群重启后,能立即恢复到宕机前的状态,基于AOF、RDB对数据进行持久 化。最后一关对缓存系统做了降级、限流处理。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论