微服务框架介绍与实现_黄小锋.doc
《微服务框架介绍与实现_黄小锋.doc》由会员分享,可在线阅读,更多相关《微服务框架介绍与实现_黄小锋.doc(3页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、电 脑 与 信 息 技 术 2016 年 12 月 Introduction And Implementation of Microservice Architecture 文章编号: 1005 1228( 2016) 06 0014 03 微服务框架介绍与实现 黄小锋 1,张 晶 2 (1.中国电建集团国际工程有限公司,北京 100048; 2.京中电普华信息技术有限公司,北京 100192) 摘 要:相对于传统单块 架构,微服务框架具有技术选型灵活 、 独立按需扩展 、 可用性高等优点,更适合当前互联网时代需 求 。 但微服务架构的应用也会引入新的问题,如跨进程通讯 、 服务注册发现等 。
2、 文章在对传统框架和微服务框架进行分析 比较的基础上,给出了微服务框架的一种实现方案 。 该方案设计了微服务框架的整体架构,对微服务框架引入的关键问题 给出了解决方案 。 采用该实现方案进行业务系统开发,开发人员只需要关注微服务内部业务功能的开发,微服务之间的注 册 、 发现 、 监控由微服务框架完成,简化了系统开发的难度,提高开发效率 。 关键词:微服务框架;服务注册; 服务发现 中图分类号: TP311.5 文献标识码: A DOI:10.19414/ki.1005-1228.2016.06.005 HUANG Xiao-feng 1, ZHANG Jing2 (1.PowerChina
3、International group limited, Beijing 100048,China; 2.Beijing China Power Information Technology Co. Ltd, Beijing 100192,China) Abstract: Compared with traditional monolithic architecture, micro-service architecture has many advantages, such as flexible technology selection, independent scalability,
4、high availability and so on, more suitable for the current needs of the Internet age. But micro-service architecture will also introduce new problems, such as inter-process communication, service registration, service discovery. On the basis of analysis and comparison between the traditional framewo
5、rk and micro-service framework, this paper shows one implementation of micro-service framework. First, we designed the component of a micro-services architecture framework, then gave the solutions of some key issues that micro-service architecture introduces. With this implementation, developers onl
6、y need to focus on the development of business functions, service registration, discovery, monitoring provided by the framework to simplify the difficulty of system development and improve development effectiveness. Key words: microservice architecture ;service registration ;service discover 传统信息化系统
7、的典型架构是单块架构,即将应 用程序的所有功能都打包成一个应用,每个应用是最 小的交付 和部署单元,应用部署后运行在同一进程中 。 典型的单块架构应用,如基于传统 J2EE 平台所构建 的产品或者项目,它们存在的形态一般是 WAR 包或 者 EAR 包 。 单块架构应用具有 IDE 友好 、 易于测试和 部署等优势,但是,随着互联网的迅速发展和企业应用 范围的扩展,单块架构表现出一些不足 1: 代码庞杂,难于理解,新人上手困难; 维护困难,一般需要专门的维护团队,而且应用 越大,则维护人员越多,团队管理成本也越高; 功能升级困难:系统中任何程序的改变,都需要 对整个系统重新测试并部署; 技术
8、堆栈固化:只能采用统一的技术平台或产品 来解决所有问题,尝试新技术的代价太高; 扩展困难:单块架构系统由于单进程的局限性, 水平扩展时只能基于整个系统进行扩展,无法针对某 一个功能模块按需扩展 。 如何找到一种更有效的 、 更灵活 、 更适应当前互联 网时代需求的系统架构方式,成为大家关注的焦点 。 随 着微服务架构的出现以及在国内外的成功应用,基于 微服务框架构建系统应用成为一种新的选择 。 收稿日期: 2016-08-17 作者简介 : 黄小 锋 ( 1981-) , 男 , 湖北荆州人 , 高级工程师 , 博士 , 主要研究方向 : 电力系统自动 化 、 电力系统优化调度 ; 张晶 (1
9、984-), 女 , 河北 保定人 , 工 程师 ,硕士 , 主要研究方向 : 企业信息化 、 企业级应用开发平台 。 第 24 卷 第 6 期 0 1 6 年 12 月 电 脑 与 信 息 技 术 Computer and Information Technology Vol 24 No 6 Dec 2016 第 24 卷第 6 期 黄小锋等:微服务框架介绍与实现 15 1 微服务架构 微服务架构是一种架构模式,采用一组服务的方 式来构建一个应用,服务独立部署在不同的进程中,不 同服务通过一些轻量级交互机制来通信,例如 RPC、 HTTP 等,服务可独立扩展伸缩,每个服务定义了明确 的边界,
10、不同的服务甚至可以采用不同的编程语言来 实现,由独立的团队来维护 2。 相对于传统的单体应用架构,微服务架构通过将 功能分解到各个离散的服务实现对应用系统 的解耦, 具有明显的优势 3 4: 复杂度可控:每一个微服务专注于单一功能,代码 量小 、 复杂度低,服务之间通过接口通信,服务边界清晰 。 技术选型灵活:可以针对不同的业务服务特征选 择不同的技术平台或产品,有针对性的解决具体的业 务问题 。 独立部署:微服务运行在独立的进程中,当某个 微服务发生变更时,可独立进行部署,无需编译 、 部署 整个应用,使得服务发布更高效,同时降低对生产环境 所造成的风险,缩短应用交付周期 。 扩展:每个服务
11、可以根据实际需求独立进行扩展 。 容错:在微服务架构下,故障被隔离 在微服务内 部 。 可通过超时重试 、 多副本策略等机制实现应用层面 的容错,避免全局不可用 。 采用微服务架构也会引入新的问题:基于微服务 架构的应用是分布式系统,服务独立运行在不同的进 程中,需要有进程间通讯机制来支撑服务之间的交互; 应用由多个服务构成,每个服务可以有多个实例,当一 项服务存在于多个主机节点时,需要一套服务发现机 制,使服务调用端可以获取正确的服务地址 。 这些都是 在微服务框架实现时需要解决的问题 。 2 微服务框架设计 2.1 整体架构 微服务框架的整体架构,如图 1 所示 。 图 1 整体架构图 微
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微服 框架 介绍 实现 黄小锋
限制150内