写在前面
硬件的性能提升诞生新的编程语言,并发编程语言GO大行其道!
为什么会有云原生技术?
什么是Devops,微服务,容器技术?
应用部署的演进
从传统的部署 到虚拟机部署(一台物理机部署多个虚拟机提高硬件的利用效率 分IO密集型 和 计算密集型,当然也会有一定的本身虚拟机环境对服务器资源的损耗;然后虚拟机的管理成本比较高 一般的企业还玩不转 门槛高)。
思考: 如果对于一些需要部署结点很多的应用程序,我们如何去管理快速部署,或者补丁,或者回滚呢?这种就是规模化的问题
阿里巴巴对云原生的定义
旨将在云应用中非业务代码进行最大化的剥离,从而让运设备接管应用中非功能性(弹性,韧性,灰度,安全,可观测性等),使业务不再受这些非功能性业务的困扰,具备轻量,敏捷高度自动化特点。
微服务架构的演进
1.0 SOA(Service Oriented Architecture)面向服务架构,多个相互独立的服务相互依赖调通过RPC内部调用对外提供服务。
2.0 微服务(SpringCloud Dubbo)缺点之一就是只能使用JAVA开发,对业务进行微服务组件化,对服务的生命周期没有很好的管理,微服务多大之后就会产生很多问题,不是很适合大型企业使用。
3.0 Service Mesh 原来被模块化的微服务,从SDK的方式提供服务变成一个独立的进程,从而可以给更多类型后端开发语言服务,这个就是当前的云原生架构Cloud Native MicroService,承接了第二代微服务组件功能,丰富了服务治理功能,例如服务注册,熔断限流,动态路由,安全校验,灰度发布等等
4.0 多运行时微服务架构,微服务进一步由应用微化成逻辑microLogic,例如链路追踪,事务管理,状态管理,资源绑定,安全等进一步降低开发难度