微服务下的全家桶选择
微服务框架主体springboot与springMVC
Spring MVC提供了⼀种轻度耦合的⽅式来开发web应⽤
Spring Boot实现了⾃动配置,降低了项⽬搭建的复杂度
独⽴运⾏的Spring项⽬
提供starter简化Maven配置
免XML复杂⽽冗余的设计思想
RPC调⽤Dubbo与SpringCloud
⽹络协议⽀持
Spring Cloud 使⽤ HTTP 协议的 REST API
Dubbo ⽀持各种通信协议(部分采⽤epoll的通信协议性能更⾼)
组件运⾏流程
SpringCloud,统⼀通过 API ⽹关Zuul,注册中⼼(Eureka),Ribbon 进⾏均衡负 载,微服务之间通过 Feign 进⾏ 通信处理业务
提供Gateway⽹关,Gateway 通过 Dubbo 提供的负载均衡机制⾃动完成,服务注册在 ZK上⾯,⽤diamond实现配 置中⼼
持久化层选择Mysql和Redis
本地持久化选择LoadingCache(Guava包)
消息中间件选择阿⾥系RocketMQ
RocketMQ的消息写⼊内存后即返回ack,由单独的线程专⻔做刷盘的操作,所有的消息均是 顺序写⽂件
在阿⾥集团被⼴泛应⽤于交易、充值、流计算、消息推送、⽇志流式处理、binglog分发等重场景