微服务的使用场景包括三个层面
需求层面:公司发展到一定规模,需求变化频繁,并且研发团队达到10人左右
性能层面:对响应时间要求不苛刻的系统,比如:电商系统
数据一致性层面:尽量避免分布式事务问题,对数据一致性不太高可保证最终一致性
收起目前微服务框架,istio,spring cloud,dubbo,Conduit
Spring Cloud作为一个微服务的开发框架,包括了很多的组件,其中包括Spring Cloud Netflix(Eureka、Hystrix、Zuul、Archaius)、Spring Cloud Config、Spring Cloud Bus、Spring Cloud Cluster、Spring Cloud Consul、Spring Cloud Security、Spring Cloud Sleuth、Spring Cloud Data Flow、Spring Cloud Stream、Spring Cloud Task、Spring Cloud Zookeeper、Spring Cloud Connectors、Spring Cloud Starters、Spring Cloud CLI等。
另外Spring Boot为Spring Cloud提供一个简化基于Spring的开发环境,可以适应Spring Boot快速开发单个微服务。
Spring Cloud就像品牌机,在Spring Source的整合下,做了大量兼容性的测试,保证了机器拥有更高的稳定性,但是如果要在使用非原装组件外配件时,需要对配件足够的了解。
收起当我们在打算实施微服务的时候,不要从开始阶段就去想哪个框架好,其实不管是spring cloud还是dubbo还是其他微服务框架,都能满足业务需求,因为有大厂做背书,性能不存在问题。企业在做微服务的时候,要考虑的是如下几点:
1、当前技术遇到的瓶颈是什么?是否真的需要使用微服务来解决问题?
2、组织架构是否允许实施微服务?
3、工程的标准化是否做好了?
4、运维自动化是否准备好?
5、线上监控是否准备好?
6、是否有足够的预算让你去开展微服务?
如果这些都还是没有开始阶段,那么建议你还是重点思考第一个问题,切记不要为了微服务而微服务