内容简介:最近1到2年的时间,自己在微服务咨询规划,架构设计,实施,DevOps平台等方面写过不少的文章,一直没有系统性的整理,今天做下系统性的文章整理,方面大家参考阅读。在学习微服务架构的文章过程中,不断的去思考这些关联和区别,其核心的目的仍然是真正找到微服务架构的核心,或者说你自己能够理解的概念模型。即
最近1到2年的时间,自己在微服务咨询规划,架构设计,实施,DevOps平台等方面写过不少的文章,一直没有系统性的整理,今天做下系统性的文章整理,方面大家参考阅读。
微服务架构-核心基础
在学习微服务架构的文章过程中,不断的去思考这些关联和区别,其核心的目的仍然是真正找到微服务架构的核心,或者说你自己能够理解的概念模型。即 微服务架构本身是将传统单体应用打破为多个独立自治(可以在自己独立进程中运行)的微服务模块,同时这些模块间通过轻量的Http API接口进行交互 。这就是微服务架构的核心概念模型。
大中台和中台构建,中台划分和服务识别
在整个微服务架构,平台 应用的构建模式下,对于中台如何构建始终都是一个重要的关注点。中台本身就体现了SOA和业务的思想,体现了大架构规划设计中的微服务模块划分和服务识别。当我们一谈到中台的时候,很容易想到我们整体IT分层架构中中台层的构建,但是大中台首先是一个业务概念,要在业务上理解大中台产生的背景,导致的业务和组织架构变革,才能够更好的理解后续大中台如何构建。
如果业务上谈大中台 小前台,那么在IT应用架构里面可以谈厚平台 轻应用。 其中大中台为企业内部大的业务职能中心,对于到厚平台层能力中心提供;而对于小前台为前端的各类创新业务,对应到IT应用架构中的轻应用。
在微服务架构设计和实施中,HttpRest接口设计是另外一个重点,大家都清楚Rest接口是面向资源的接口设计方法,而且基于原生的Http协议,因此里面就有两个最关键的点, 一个就是对资源的理解,一个就是对操作的理解。注意传统的接口设计一般是面向方法和操作的,即一般都是动宾结构为主的方法操作。比如查询用户信息接口,更新供应商状态接口,删除人员信息接口等等。而对于面向资源的设计,一个大的转变就是首先要识别和定义资源,再来对资源的Http各种操作方法进行定义。
传统企业的微服务架构转型
对于传统企业的微服务架构转型,其转型的背景和原因究竟在哪里?如何进行传统企业的IT架构转型和微服务架构的实施,这不是简单的引入一个微服务开发框架就完事的事情。涉及到业务和设计,组织多方面的重构和变更。传统企业如何循序渐进,如何提升自我IT管控治理水平以应对后续转型也相当关键。
微服务架构实施
一个企业实施微服务架构,不是简单的使用一个开源的微服务架构框架,搭建一个微服务平台就完事,更加重要的往往是前期的微服务模块的拆分和定义,后期的微服务架构整体的治理和运维。
微服务网关和API网关
在微服务架构中的API网关,如果和容器,DevOps结合,那么就存在API接口的自动注册和发布等操作。存在API网关和容器技术,DevOps,微服务开发框架的集成而已。而API网关本身的核心功能仍然没有变化。
API 网关(API Gateway), 是提供API托管服务,涵盖API发布、管理、运维、售卖的全生命周期管理 。辅助用户简单、快速、低成本、低风险的实现微服务聚合、前后端分离、系统集成,向合作伙伴、开发者开放功能和数据。
容器化PaaS平台和微服务架构
微服务架构实施中,基于容器技术的PaaS平台是另外一个重点,也就是我们说的 微服务,容器化PaaS和DevOps是三个最核心的内容,三者相辅相成融为一个整体 。
服务链监控
对于服务链监控,实际上我主要谈了两个方面的内容, 一个是跨系统间的服务链监控,一个是系统内接口服务调用的服务链监控 。而当前主流微服务架构实施中服务链监控都是谈的后者,同时对于后者当前也有很多开源 工具 来实现。
服务链监控-系统内+跨系统 DevOps平台和DevOps实践对于DevOps支撑平台,还是先看下整体架构,其中包括了容器化PaaS,微服务架构和各种工具集的集成。我们在谈微服务架构的时候更多会谈在开发态的微服务开发框架,而实际上一个微服务架构和DevOps结合后,特别是在运行期最重要的三个组件是 基于轻量容器技术的PaaS平台,微服务网关和DevOps平台 。 而到了运维期后一个重要的平台就是对微服务架构的 自动化监控运维平台 。
对于DevOps首先还是要回到这个概念的最基础理解,即是 开发,运维和QA工作本身的三元一体化 。而DevOps带来的一个关键点就是,Dev处于整个核心交付流程中,而且这个过程通过方法工具等的支撑完全实现自动化和流水线作业,而对于SCM配置,QA等则处于核心流程的外围角色,即这些支撑过程角色不参与核心交付流程,只是对交付完成的内容进行管理验证。只有这样才容易实现整个交付流程的自动化。
从去年开始,我们就一直基于容器化技术加微服务平台在进行DevOps支撑平台的开发和实践,在这个过程中有不少曲折,也有些还没有想清楚的地方,但是这些并不妨碍我们对DevOps过程和价值的理解。
其中我主要总结了三点,1. 持续集成和敏捷方法论是理论基础 2. 容器技术是实践落地基础 3. 微服务架构和组件化关键配合和驱动力。
简单谈下对DevOps的理解微服务架构,核心本质是在能够将传统的单体应用分解为多个离散自治的微服务模块,而各个微服务模块之间又通过轻量高性能的微服务接口进行通信和协同。微服务架构更多还是传统SOA参考架构思想在系统内的组件化和服务化落地,其次经常谈到的微服务网关则更多的是传统的ESB服务总线产品进一步轻量化,去掉了复杂的适配器,协议转换,数据映射,服务流程编排等。
对于微服务架构的初步理解,可以先看对Chris Richardson微服务系列的阅读笔记:
阅读笔记1-基础介绍和微服务网关: http://blog.sina.com.cn/s/blog_493a84550102wbt0.html
阅读笔记2-消息,事件和服务部署: http://blog.sina.com.cn/s/blog_493a84550102wc2x.html
http://blog.sina.com.cn/s/blog_493a84550102wccg.html
对于微服务网关层面,又补充了对完全去中心化的微服务网关的思考:
去中心化的微服务网关: http://blog.sina.com.cn/s/blog_493a84550102wcmw.html
微服务架构现在是流行趋势,但是新瓶装旧酒,特别是传统企业在面对微服务架构和进行转型的时候,一定要根据自身实际情况量力而行,对于该方面谈了如下文章:
微服务模块的迁移: http://blog.sina.com.cn/s/blog_493a84550102wd68.html
企业微服务架构切入点: http://blog.sina.com.cn/s/blog_493a84550102wkeu.html
企业应谨慎对待微服务架构1: http://blog.sina.com.cn/s/blog_493a84550102wkbe.html
http://blog.sina.com.cn/s/blog_493a84550102wkc8.html
对于当前主流的SpringCloud框架也做了初步的验证,可以参考:
微服务基础框架: http://blog.sina.com.cn/s/blog_493a84550102wkna.html
微服务SpringBoot简介: http://blog.sina.com.cn/s/blog_493a84550102wkgy.html
微服务SpringCloud简介: http://blog.sina.com.cn/s/blog_493a84550102wkp2.html
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 再谈微服务类文章整理(200317)
- Objective-C Runtime 大佬系列文章整理
- 照片整理系列二 —— 照片整理及归档的辛酸历程
- 我自己整理的码农周刊一周分享整理
- 《文章推荐系统》系列之构建离线文章画像
- 【复习资料】ES6/ES7/ES8/ES9资料整理(个人整理)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Data-intensive Text Processing With Mapreduce
Jimmy Lin、Chris Dyer / Morgan and Claypool Publishers / 2010-4-30 / USD 40.00
Our world is being revolutionized by data-driven methods: access to large amounts of data has generated new insights and opened exciting new opportunities in commerce, science, and computing applicati......一起来看看 《Data-intensive Text Processing With Mapreduce》 这本书的介绍吧!