目前微服务的概念越来越火爆,技术人员聊技术无非就是两个最新的热点,机器学习以及微服务,在半年前尝试过使用.NET Core结合Spring Cloud实现微服务的服务注册与消费,从没有整体的走过一遍,最新花了些时间,使用Java的Spring Boot集合Spring Cloud实现了一整套微服务体系,简单谈谈使用感受
可以说是走了一遍Spring全家桶
使用的技术点:
服务注册与发现 Eureka
服务消费/负载均衡 Feign
API网管 Zuul
配置中心 Config
熔断机制 Hystrix
微服务架构演进过程
最早是应用是单块架构,后来为了具备一定的扩展和可靠性,就有了垂直架构,也就是加了个负载均衡,接下来是前几年比较火的SOA,主要讲了应用系统之间如何集成和互通,而到现在的微服务架构则是进一步在探讨一个应用系统该如何设计才能够更好的开发、管理更加灵活高效。
微服务架构的基本思想就是“围绕业务领域组件来创建应用,让应用可以独立的开发、管理和加速”
微服务架构的好处
四个方面的优点:
每个微服务组件都是简单灵活的,能够独立部署。不再像以前一样,应用需要一个庞大的应用服务器来支撑。
可以由一个小团队负责更专注专业,相应的也就更高效可靠。
微服务之间是松耦合的,微服务内部是高内聚的,每个微服务很容易按需扩展。
微服务架构与语言工具无关,自由选择合适的语言和工具,高效的完成业务目标即可。
微服务应用4个设计原则
系统演进
上面看了微服务的好处,当然微服务也有缺点
微服务的粒度虽然很细,但是开发的复杂度也确实不少,我模拟了微服务应用,以一个城市天气为例,微服务需
城市数据微服务
数据收集微服务
天气数据微服务
天气报表微服务
服务注册中心
配置管理中心
配合Redis实现数据缓存
自动扩展和微服务的容器编排
总共8个程序集,这还是非常简单的应用,应用一旦复杂,微服务的数量在百+是非常正常的
不过大势所趋,应用化,模块化是未来软件的趋势,学学总是好的。有兴趣的可以取学习
以上,简单分享
领取专属 10元无门槛券
私享最新 技术干货