微服务简介

最近,微服务这个概念越来越流行,很多企业开始选择微服务作为自己新的架构。

那么,什么是微服务呢?

我们先来看一下架构大神martin fowler对微服务的解释。

The term "Microservice Architecture" has sprung up over the last few years to describe a particular way of designing software applications as suites of independently deployable services.

While there is no precise definition of this architectural style, there are certain common characteristics around organization around business capability, automated deployment,

intelligence in the endpoints, and decentralized control of languages and data.

在这里我需要给英文不好的朋友解释一下,其实总结下来,就这么几个关键字。

1. 微服务是系统架构上的一种设计风格

2. 它将一个独立的系统拆分成多个小型的服务,每个服务都可以独立部署

3. 去中心化

4. 服务之间通过RESTful API进行通信协作

微服务的好处:

1. 为了解决单体系统变臃肿之后难以维护的问题

2. 将系统拆分成不同的模块,每个服务能独立部署和扩展,由于每个服务都运行在自己的进程内,其更新

不会影响其他服务的运行

3. 由于每个服务是独立部署的,我们可以更准确地位每个服务评估性能容量,更准确地发现服务与服务之间,以及系统中的瓶颈位置

由于微服务的架构根据每个公司或个人不同而不同,并没有非常通用的统一标准,但是,下面的九大特性在大家架构为服务时,起到一定的指导作用。

1. 服务组件化(Componentization via Services)

组件可以独立更换和升级

2. 按业务组织团队(Organized around Business Capabilities)

而不是以往的按技术层面(DBA, 运维, 后端, 前端)

3. 做产品的态度(Products not Projects)

需要用做产品的态度来对待每一个微服务

you build, you run it

4. 智能端点和哑通道(Smart endpoints and dumb pipes)

由于服务不在一个进程中,互相间的通信必须简单高效

通常两种服务调用方式:

1) Http RESTful API

2) 轻量级消息总线(RabbitMQ, Kafka)

5. 去中心化治理(Decentralized Governance)

6. 去中心化管理数据(Decentralized Data Management)

把原本存储在MySql中的表拆分后,存储到多个不同的MySql实例中

7. 基础设施自动化(Infrastructure Automation)

8. 容错设计(Design for failure)

9. 演进式设计(Evolutionary Design)

时间: 2024-11-01 09:08:22

微服务简介的相关文章

SpringCloud微服务简介(一)

Spring Cloud简单认识 微服务英文名称Microservice,Microservice架构模式就是将整个Web应用组织为一系列小的Web服务.这些小的Web服务可以独立地编译及部署,并通过各自暴露的API接口相互通讯.它们彼此相互协作,作为一个整体为用户提供功能,却可以独立地进行扩. 微服务架构需要的功能或使用场景 1:我们把整个系统根据业务拆分成几个子系统. 2:每个子系统可以部署多个应用,多个应用之间使用负载均衡. 3:需要一个服务注册中心,所有的服务都在注册中心注册,负载均衡也

springCloud(1):微服务简介

一.什么是微服务 微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制(通常用HTTP资源API). 二.微服务架构特性 1.每个微服务可独立运行在自己的进程里 2.一系列独立运行的微服务共同构建起整个系统 3.每个服务为独立的业务开发,一个微服务只关注某个特定的功能,如:订单管理 4.微服务之间通过一些轻量级的通信机制进行通信,例如:通过RESTful API进行调用 5.可以使用不同的语言与数据存储技术 6.全自动的部署机制

MSA(微服务简介)

1.为什么要使用微服务? 要说为什么要使用微服务,我们要先说下传统的企业架构模式-垂直架构/单块架构模式,简单点说:我们一般将系统分为三层架构,但是这是逻辑上的三层,而非物理上的三层,这就意味着经过编码后,我们需要将这三层的代码打包部署,最终还是运行在同一台机器的同一个进程中.即单块架构模式就是功能集中,代码数据集中,一个发布包.部署运行在同一个进程中的应用程序,重点是同一个进程. 这种架构存在自己的优势也有弊端,优势是:易于开发,易于测试,易于部署,易于水平伸缩. 弊端:维护成本高,修改一处代

Spring Cloud微服务简介

概述 Spring Cloud给开发者提供一套按照一定套路快速开发分布式工具.它为微服务架构中涉及**配置管理,服务治理,断路器,智能路由,微代理,控制总线,全局锁,分布式会话和集群状态等操作提供了一种简单的开放方式. SpringCloud组成 Spring Cloud 1.xxx版本和Spring Cloud 2.xxx版本中,其中在Spring Cloud Netflix核心组件的依赖标识名发生了变化. 1:Spring Cloud Config 分布式配置管理,支持使用Git存储配置内容

什么是微服务,微服务简介

目录 什么是微服务 单体系统 1.项目过于臃肿 2.资源难以隔离 3.扩展瓶颈模块受限 微服务 1.独立部署.灵活扩展 2.资源隔离 1.架构设计复杂 2. 管理复杂 @ 什么是微服务 今天简单了解一下微服务,在看微服务前,先了解一下传统的单机系统. 单体系统 所有的业务子模块都集中在一个系统中,优点是便于管理,但是规模变大的时候,缺点就很明显了. 缺点: 1.项目过于臃肿 当产品规模越来越大,各种的大大小小模块都塞在一个项目中,必然会使整个项目变的臃肿,让开发者难以维护. 2.资源难以隔离 系

微服务架构【SpringBoot+SpringCloud+VUE】一 || 微服务简介

目录 1.什么是微服务 2.Spring Cloud是什么 3.服务注册中心 4.学习交流QQ群[883210148] 1.什么是微服务 在开发项目之前,我们有必要了解一下,什么是微服务?简单来说:微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成.系统中的各个微服务可被独立部署,各个微服务之间是松耦合的.每个微服务仅关注于完成一件任务并很好地完成该任务.在所有情况下,每个任务代表着一个小的业务能力. 2.Spring Cloud是什么 Spring Cloud是一个微服务框架的规

微服务(Microservice)那点事

原文出处: 云栖社区 WHAT – 什么是微服务 微服务简介 这次参加JavaOne2015最大的困难就是听Microservice相关的session,无论内容多么水,只要题目带microservice,必定报不上名,可见Microservice有多火.最喜欢其中一页.关于这个典故,可以参考this,此图适用于一切高大上的名字——技术有SOA,Agile,CLOUD,DevOps等等,古代有道,气,八卦等等.此类名词的最大特点就是 一解释就懂,一问就不知,一讨论就打架. 微服务的流行,Mart

微服务那点事[转]

转自云栖社区:https://yq.aliyun.com/articles/2764?spm=5176.100239.blogcont8611.6.8QZgLe 摘要: 微服务架构被提出很短的时间内,就被越来越多的开发人员推崇,简单来说其主要的目的是有效的拆分应用,实现敏捷开发和部署 .本分享即尝试介绍微服务架构的一些实施细节和要求,探询微服务架构的由来,并最终提供我们团队内部的一些实践总结,希望对大家有帮助. WHAT - 什么是微服务 微服务简介 这次参加JavaOne2015最大的困难就是

关于微服务

摘要: 微服务架构被提出很短的时间内,就被越来越多的开发人员推崇,简单来说其主要的目的是有效的拆分应用,实现敏捷开发和部署 .本分享即尝试介绍微服务架构的一些实施细节和要求,探询微服务架构的由来,并最终提供我们团队内部的一些实践总结,希望对大家有帮助. WHAT - 什么是微服务 微服务简介 这次参加JavaOne2015最大的困难就是听Microservice相关的session,无论内容多么水,只要题目带microservice,必定报不上名,可见Microservice有多火.最喜欢其中一