赞
踩
最近这几年微服务比较火,很多技术公司对招聘java工程师,都是以有微服务架构开发经验的求职者优先,仿佛不谈点微服务相关的技术,都显得不是那么主流了。
1、 微服务的概念源于2014年3月Martin Fowler所写的一篇文章“Microservices”(http://martinfowler.com/articles/microservices.html)。
2、微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。
3、如果要用比较通俗的解释,我觉得可以用如今手机行业的手机生产制作来形容,如今各个手机厂商每台手机几乎都是各大厂商技术的集合体,就比如一台小米手机,cpu可能来自高通,屏幕来自三星,摄像头来自索尼等等,手机每个部分都由不同厂商提供,强强联合,才能制作一台真正优秀的手机,而微服务就像这样,每个功能点单独完成,最后组成一个强大的项目。
提到为什么使用微服务架构就应该先了解一下一体化架构。
1、什么是一体化架构?
答:一体化架构顾名思义,将应用各层打成一个包来部署。为了让代码正常工作,一体化应用的所有组件缺一不可,各部分高度依赖。比如我们常见的普通web项目,一般分为表现层,业务逻辑层,数据访问层,所有代码都放在一个代码库中,某一层的代码变化都影响整个项目的构建和部署。
2、为什么使用微服务架构
答:微服务架构其实就是一种架构风格,我们将整个项目划分为多个独立的小项目,也就是我们俗称的微服务,但是微服务的“’微”并没有明确的定义,可以理解为每个微服务都单独处理某个功能模块,可以独立开发、测试、部署、监控和扩展,甚至可以用不同的编程语言开发它们。它有利于我们平时项目的开发,解决了一体化架构项目难以扩展,开发周期长,故障级联等问题,这也是微服务近几年越来越流行的一个原因。
三、微服务有什么优缺点
1、优点:
2、缺点
3、这里也只是简单的列举了一些优缺点,如果要详细了解百度上很多,也很详细。
上面也只是比较简单说了一下微服务,其实无论哪种技术,哪种架构,有优点,也必有缺点,在开发中,这些问题我们其实天天都可以遇到,就比如常用的一些集合类型,效率高的,线程就不一定安全,线程安全的效率也不一定高。技术是死的,但是人是活的,我们只有面对不同情况,选择不同技术,最后才能真正的以最优的方案解决问题。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。