优秀的程序员:什么是微服务?
一个复杂软件架构是由很多这样小而独立运行(有自己的端口)微服务组成,这些独立处理组件之间通讯是通过与语言无关的API进行,简单协议有同步性质的RMI/RPC和 RESTful Web Services,异步的消息推送和Reactive方式。 这些模块化的方式能够使得公司将项目分解分散到多个开发团队,跨不同业务部门,提供非常充分的灵活性,帮助提高项目的生命周期,加快项目开发完成效率。 每个微服务组件都有自己分配的存储 内存和CPU资源,这就使得硬件利用更加易于优化和跟踪,特别是在基于云的Pass环境,开发团队可以使用他们喜欢的技术,任何语言都可以,只要确保微服务之间是可交互的,能够组合起后面的应用。 当管理复杂性会因为采取微服务架构而降低,通常更新其中一个微服务组件不会引起连锁反应,因为微服务之间是松耦合的。 目前使用微服务的企业有:Netflix Twitter Amazon Web Services (AWS), Google, eBay等。 因为有很多应用和服务部署在基于云主机的环境中,微服务架构将会严重依赖容器技术,容器隔离了微服务处理过程,将一个应用切分为一个个小的实例,这些容器中的小实例有自己的端口和虚拟化环境。 广泛使用的容器技术是Docker, 一种基于Linux的开源实现,由很多软件公司支持如 Canonical, Red Hat,和Parallels. PaaS服务支持包括Google App Engine, Red Hat Open Shift,和VMware的 Cloud Foundry,。 微服务架构不只是传统服务变微变小。微服务两个显著特点是: (编辑:开发网_开封站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |