right
PROGRAMME
您的位置:首页 > 下载 > 课件下载 >

点击返回首页

从理论到实践落地「微服务」(附80页PPT下载)

2017-12-15 信息来源:www.mrmhw.com 编辑:admin 阅读次数:

从理论到实践落地「微服务」(附80页PPT下载)

2017-01-24 08:00 来源:InfoQ 技术 /操作系统 /客户端

原标题:从理论到实践落地「微服务」(附80页PPT下载)

作者|程超

编辑|小智

若论近年来大热的技术名词,微服务必定有一席之地。对于微服务的阐述已有很多,但很多不过流于框架、架构介绍,恍若空中楼阁。这是一篇理论与实践结合谈微服务的文章,回复关键词「微服务」,下载作者80页PPT的呕心之作。如果你想更深入学习微服务,请看今日次条推送。

写在前面

一直对微服务非常感兴趣,因为公司的架构改造正好有机会能够接触微服务,买来一些书,请教了很多微服务大牛同时自己也做了很多总结,写成了80页ppt,算是我对微服务的一个认识吧,微服务本身不同的人有不同的理解,而我就从我自己的角度来谈谈微服务是什么。

目前市面上的不少书或者不少相关文章写的都是框架的使用,或者架构的介绍,其实对于刚入门不久的同学来说很容易造成微服务就是一堆框架和组件的堆砌,于是今天我将从理论和实践的角度来说说微服务。

现代互联网的方向是当企业发展到一定规模后,一定是大规模、云计算和大数据的三者的结合,从而形成平台,那么微服务就是基于此而提出的。

一、什么是微服务

1、常见的系统架构

目前我们经常接触的网络架构主要有三种,如下图:

从图中可以看到,共有三种模式,第一种是集中式架构也是单块应用最常使用的架构模式。第二种是分布式架构,最常见的应用是将一个大的任务拆分到不同的机器中进行计算,最终有一台服务器合并计算结果就是分布式架构的一个好的体现。第三种就是微服务架构。

2、现实遇到的挑战

扩容困难

我们之前开发项目用的是虚拟机,每次上线项目需要加机器总会遇到资源不足的情况,还要走非常复杂工单审批流程,还要与运维人员不断PK,才能申请下来资源,整个流程冗长,机器受限于资源申请困难。

部署困难

每次上线采用专门的人进行布署,上线之前需要与上线人员沟通上线的环境,防止上线出错。

发布回滚困难

每次上线发现问题后,需要重新从svn主干上面进行代码编译,但是有时候会因为各种问题回滚失败,而且重新编译很耗时导致回滚缓慢。

适配新技术困难

如果打算在不同的模块采用不同的语言开发,或者想在架构中做技术升级都很困难或者不支持。

快速开发困难

项目中采用单体应用,里面集成了太多功能模块,无法快速进行功能开发并且很容易牵一发动全身。

测试困难

测试人员没有自动化测试框架,或者Mock系统,导致只能采用简单的人工测试流程,而且还经常发生功能覆盖不全面等问题。

学习困难

于是我们把项目中遇到上述问题的项目称为单体应用。

3、微服务的定义

The microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services , which may be written in different programming languages and use different data storage technologies.

– James Lewis and Martin Fowler

原文:

翻译文:

总结了一下共有四点特性:

一些列的独立的服务共同组成系统

单独部署,跑在自己的进程里

每个服务为独立的业务开发

分布式的管理

4、微服务和SOA的区别

微服务只是一种为经过良好架构设计的SOA解决方案,是面向服务的交付方案。

微服务更趋向于以自治的方式产生价值。

微服务与敏捷开发的思想高度结合在一起,服务的定义更加清晰,同时减少了企业ESB开发的复杂性。

微服务是soa思想的一种提炼!

SOA是重ESB,微服务是轻网关。

5、微服务定义小结

二、关于微服务的建模


上一篇:PPT设计中icon图标的绘制(附下载) 下一篇:城市道路用于大排水系统的规划设计方法与案例

 关于我们 | 网站地图 | 版权申明 | 隐私保护 | 货到付款 | 招聘信息 | 联系我们 | 广告服务 | 疑难解答 | 帮助中心 

网站备案:粤ICP备091426159号

版权所有:美容门户网 Copyright © 2007-2015 提醒您谨防假冒与抄袭