微服务概念

一、什么是微服务架构

微服务,是一个小的、松耦合的分布式服务。       

为什么需要微服务:

1)单体系统部署在一个进程中,修改了一个小功能,为了部署上线就会影响其他功能。

2)单体应用各个功能模块的使用场景、并发量、消耗资源类型各不相同,对于资源的利用又互相影响,

这样使得对各个模块的系统容量很难给出较为准确的评估。

微服务是系统架构的一种设计风格,它的主旨是将一个原本独立的系统拆分成多个在各自独立进程中运行的小型服务,

服务之间通过基于HTTP的RESTful API进行通信协作。

二、实施微服务的挑战

实施微服务需要信奉的重要概念是:分解和分离应用程序的功能,使他们完全彼此独立。

1.单体应用拆分为分布式系统后,进程间的通信机制和和故障处理措施变得更加复杂。

---解决方案:RPC框架,如HSF、Dubbo可以支持多种通信协议,Spring Cloud可以非常好地支持RESTful调用

2.服务调用的分布式事务问题变得异常突出。

---解决方案:没有通用的解决方案,最具挑战的技术难题。

3.微服务数量众多,其测试、运维变得更加困难。

---运用Docker、Devops技术及共有云PAAS平台自动化运维工具。

三、微服务架构特性

一)服务组件化 

组件,是一个可独立更换和升级的单元。

二)按业务组织团队 

优势:一是可以服务内部修改产生的内耗,二是团队边界更加清晰。

三)做“产品”的态度

四)去中心化治理

当我们采用集中化架构治理方案时,通常在技术平台上都会制定统一的标准,但是每种

技术平台都有其短板,如果解决不好,很可能称为系统瓶颈。微服务构架系统中的各个

组件可以针对不同业务选择不同的技术平台。

五)去中心化数据管理 

概念:让每个服务管理自由的数据库。

优势:让数据管理更加细致化,通过采用更合适的技术让数据存储和性能达到最优。

劣势:数据一致性问题。

六)基础设施自动化 

微服务架构中需要运维人员关注的问题成倍增长,所以,务必从一开始就构建起"持续交付"

平台来支撑整个实施过程,该平台需要:

1)自动化测试

2)自动化部署

七)容错设计

八)演进式设计

Spring Cloud微服务笔记(一)微服务概念的更多相关文章

  1. spring cloud(学习笔记)微服务启动错误(1)

    今天下午在启动spring cloud微服务的时候,报了这个错误: Error starting ApplicationContext. To display the auto-configurati ...

  2. spring cloud(学习笔记) Enreka服务治理

    服务治理是微服务架构最为核心和基础的模块,主要用来实现各个微服务实例的自动化注册和发现. 记录一下服务注册中心的搭建以及高可用注册中心的实现 1.首先创建两个基础 的spring boot工程,spr ...

  3. 基于Spring Cloud和Netflix OSS构建微服务,Part 2

    在上一篇文章中,我们已使用Spring Cloud和Netflix OSS中的核心组件,如Eureka.Ribbon和Zuul,部分实现了操作模型(operations model),允许单独部署的微 ...

  4. 今天介绍一下自己的开源项目,一款以spring cloud alibaba为核心的微服务架构项目,为给企业与个人提供一个零开发基础的微服务架构。

    LaoCat-Spring-Cloud-Scaffold 一款以spring cloud alibab 为核心的微服务框架,主要目标为了提升自己的相关技术,也为了给企业与个人提供一个零开发基础的微服务 ...

  5. Spring Cloud 入门教程 - 搭建配置中心服务

    简介 Spring Cloud 提供了一个部署微服务的平台,包括了微服务中常见的组件:配置中心服务, API网关,断路器,服务注册与发现,分布式追溯,OAuth2,消费者驱动合约等.我们不必先知道每个 ...

  6. spring boot 2.0.3+spring cloud (Finchley)7、服务链路追踪Spring Cloud Sleuth

    参考:Spring Cloud(十二):分布式链路跟踪 Sleuth 与 Zipkin[Finchley 版] Spring Cloud Sleuth 是Spring Cloud的一个组件,主要功能是 ...

  7. 《Spring Cloud》学习(一) 服务治理!

    前言:之前网上学习过Spring Cloud,对于工作上需要是足够了,总归对于一些方面一知半解,最近难得有些闲暇时间,有幸读了崔永超先生的<Spring Cloud 微服务实战>,一方面记 ...

  8. Spring Cloud(二):Eureka 服务注册中心

    前言 服务治理 随着业务的发展,微服务应用也随之增加,这些服务的管理和治理会越来越难,并且集群规模.服务位置.服务命名都会发生变化,手动维护的方式极易发生错误或是命名冲突等问题.而服务治理正是为了解决 ...

  9. Spring Cloud系列(一):服务注册中心

    一.Spring Cloud简介 Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线).分布式系统的协调导致了样 ...

  10. spring cloud 2.x版本 Eureka Server服务注册中心教程

    本文采用Spring cloud本文为2.1.8RELEASE,version=Greenwich.SR3 1.创建服务注册中心 1.1 新建Spring boot工程:eureka-server 1 ...

随机推荐

  1. maven 使用 log4j

    Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件,甚至是套接口服务器.NT的事件记录器.UNIX Syslog守护进程等:我们也可 ...

  2. Luogu_2015 二叉苹果树

    题目链接 SB 裸题……就是想随便挂在这里……同样的题还有 Luogu_2014 选课. Luogu_2015 二叉苹果树 #include <queue> #include <cs ...

  3. 降维【PCA & SVD】

    PCA(principle component analysis)主成分分析 理论依据 最大方差理论 最小平方误差理论 一.最大方差理论(白面机器学习) 对一个矩阵进行降维,我们希望降维之后的每一维数 ...

  4. [Android] Android GreenDao 保存 JavaBean 或者List <JavaBean>类型数据

    Android GreenDao 保存 JavaBean 或者List <JavaBean>类型数据 简介 数据库存储数据基本上每个APP都有用到,GreenDAO 是一个将对象映射到 S ...

  5. mysql普通用户本机无法登录的解决办法

    背景 mysql和mariadb的用户表里存在匿名用户时,普通用户出现无法登录的情况 分析 先查看下用户表 mysql> select user, host, password from mys ...

  6. 【转载】C++ vector的用法

    http://www.cnblogs.com/Nonono-nw/p/3462183.html

  7. WEB内容换行

    word-wrap:break-word 单词间换行 word-break:break-all 单词内也可以换行 white-space属性指定元素内的空白怎样处理 normal 默认.空白会被浏览器 ...

  8. 【汇总目录】C#

    [2019年04月29日] C# textbox 自动滚动 [2019年02月07日] C#利用VUDP.cs开发网络通讯应用程序 [2019年02月06日] C#利用VINI.cs操作INI文件 [ ...

  9. Vue技术内幕 出去看看吧

    Vue的 Vue构造函数的出生 出生文件 ./instance/index  实例方法和属性 .global-api/index   静态方法和属性 Vue平台化包装 Web平台化 vue 初始化 m ...

  10. win10免安装版本的MySQL的下载安装和配置

    下载mysql-xxx.zip(免安装版) 解压到自己想要的目录下(我的是D:\mysql\),打开mysql-5.7.21-winx64文件夹,新建my.ini文件,输入: [mysql] # 设置 ...