今年要回佛山发展,想转java方向,为此以学习研究的方向开始今天的文章,如有哪里说得不对的地方,请多多指教。
本次以搭建微服务架构为主题。
- 架构的基本业务流程:通过vue前端的动态负载选择一个java网关进行业务处理,网关服务根据api地址自动路由到目标的业务机器上进行业务分发处理,最后返回json数据给vue前端展示
- 架构的性能目标:同时承载10万并发的目标
- 预计的性能热点:网关服,热点业务服,业务所连接的数据库
简单的架构图:
架构简单说明:
1. 配置中心采用Nacos,提供了集成的管理后台,方便配置的查看和修改
2. 网关节点和业务节点的配置都从配置中心拉取,方便节点配置的管理和更新
3. 断路器在网关则提供简单的sentinel断路器功能,基于常规的QPS等指标在网关侧定制常规的熔断降级机制
4. 在业务节点使用Spring Cloud Resilience4的轻量级熔断组件,方便后续根据业务定制复杂的熔断降级机制
5. vue端加上ribbon的负载均衡,以支持大规模的并发访问
6. 提供基本的RPC远程调用组件,方便微服务间的远程调用
7. 提供本地缓存和远程redis缓存机制,减少业务的数据库IO访问,加快业务的处理效率