一、基于SpringCloud构建微服务电商项目
1.Eureka作为注册中心,实现服务治理
2.管理统一服务入口管理 Zuul网关
3.Http协议 Fegin客户端、 Ribbon本地负载均衡
4.Hystrix服务保护框架(熔断、降级、隔离、限流)
5.微服务消息总线Stream RabbitMQ和Kafka
6.服务追踪与调用链关系sleuth、Zipkin
7.微服务安全控制SpringCloud Security
8.微服务SSO单点系统SpringCloud Oauth2.0+Jwt+Cas
9.微服务Api管理Swagger
二、分布式基础设施
1.分布式任务调度平台XXL-JOB
2.分布式日志分析 ELK
3.分布式事务解决方案LCN
4.分布式锁解决方案 Zookeeper 、Redis
5.分布式配置中心携程阿波罗
6.静态资源服务器
7.分布式全局ID生成
8.分布式Session一致性Spring - Session
三、数据库技术
1.数据库Mysql+Mycat
2.分表分库插件Shardingjdbc
3.Redis与数据库同步框架 canal
四、项目部署与运营
1.网站采用动静分离CDN内容分发
2.使用Git版本控制
3.Jenkins+Docker自动部署
4.使用Nginx+keepalived实现高可用
其他
微服务SpringCloud 和Dubbo(阿里巴巴开源服务治理框架)
Dubbo只是实现了服务治理,而Spring Cloud下面有17个子项目(可能还会新增)分别覆盖了微服务架构下的方方面面,服务治理只是其中的一个方面,一定程度来说,Dubbo只是Spring Cloud Netflix中的一个子集。
看看Spring Cloud和Dubbo都提供的支持
Dubbo | Spring Cloud | |
---|---|---|
服务注册中心 | Zookeeper | Spring Cloud Netflix Eureka |
服务调用方式 | RPC | REST API |
服务网关 | 无 | Spring Cloud Netflix Zuul |
断路器 | 不完善 | Spring Cloud Netflix Hystrix |
分布式配置 | 无 | Spring Cloud Config |
服务跟踪 | 无 | Spring Cloud Sleuth |
消息总线 | 无 | Spring Cloud Bus |
数据流 | 无 | Spring Cloud Stream |
批量任务 | 无 | Spring Cloud Task |
…… | …… | …… |
分布式解决方案 SpringCloud config、阿波罗(推荐使用)、Elastic job