什么是微服务,为什么要使用微服务架构

前言

最近这几年微服务比较火,很多技术公司对招聘java工程师,都是以有微服务架构开发经验的求职者优先,仿佛不谈点微服务相关的技术,都显得不是那么主流了。

一:什么是微服务

二、为什么使用微服务

提到为什么使用微服务架构就应该先了解一下一体化架构。 1、什么是一体化架构? 答:一体化架构顾名思义,将应用各层打成一个包来部署。为了让代码正常工作,一体化应用的所有组件缺一不可,各部分高度依赖。比如我们常见的普通web项目,一般分为表现层,业务逻辑层,数据访问层,所有代码都放在一个代码库中,某一层的代码变化都影响整个项目的构建和部署。 2、为什么使用微服务架构 答:微服务架构其实就是一种架构风格,我们将整个项目划分为多个独立的小项目,也就是我们俗称的微服务,但是微服务的“’微”并没有明确的定义,可以理解为每个微服务都单独处理某个功能模块,可以独立开发、测试、部署、监控和扩展,甚至可以用不同的编程语言开发它们。它有利于我们平时项目的开发,解决了一体化架构项目难以扩展,开发周期长,故障级联等问题,这也是微服务近几年越来越流行的一个原因。

三、微服务有什么优缺点 1、优点:

    独立开发部署服务 速度和敏捷性 更高的代码质量 获得围绕业务功能创建/组织的代码 改善故障隔离。一个服务宕机不会影响其他的服务 易于规模化开发,多个开发团队可以并行开发,每个团队负责一项服务 更容易扩展 可以使用不同的语言

2、缺点

    测试工作更加困难 服务调用跨更多节点,分布式事务数据不一致性可能更大。 部署复杂,成本高 开发人员要处理分布式系统的复杂性,提高了开发的复杂性 服务调用跨网络,增加网络IO,降低性能。

3、这里也只是简单的列举了一些优缺点,如果要详细了解百度上很多,也很详细。

四、总结:

上面也只是比较简单说了一下微服务,其实无论哪种技术,哪种架构,有优点,也必有缺点,在开发中,这些问题我们其实天天都可以遇到,就比如常用的一些集合类型,效率高的,线程就不一定安全,线程安全的效率也不一定高。技术是死的,但是人是活的,我们只有面对不同情况,选择不同技术,最后才能真正的以最优的方案解决问题。

经验分享 程序员 微信小程序 职场和发展