微服务概念

一、什么是微服务架构

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

为什么需要微服务:

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. JS学习笔记Day14

    一.正则表达式 (一)正则的概念 1.正则表达式是一种特殊的字符串模式,用于匹配一组字符串,就好比用模具做产品,而正则就是这个模具,定义一种规则去匹配符合规则的字符 (二)创建正则的方式 1.字面量的 ...

  2. GO语言系列(五)- 结构体和接口

    结构体(Struct) Go中struct的特点 1. 用来自定义复杂数据结构 2. struct里面可以包含多个字段(属性) 3. struct类型可以定义方法,注意和函数的区分 4. struct ...

  3. 金融量化分析【day113】:多因子选股

    一.什么是多因子选股 在股市中征战过的朋友们应该知道,股市之道无非三点.1择时,2选股,3 仓控.精通这三点中的任何一点,都足以在股市中所向披靡.但是精通二字何其艰难!!!矫情的话多不多说,咱们进入正 ...

  4. Angular: 执行ng lint后如何快速修改错误

    当我第一次被分配到“修正执行ng lint语句后的错误”这项任务前,我就被导师提前告知这是一个很无聊的任务,当我开始后,我发现其实有一些办法可以加快这个无聊单调的工作.接下来,我就分享一下我的经验. ...

  5. 微星X470主板装机

    记录一下装机过程,以作纪念 配置 机箱:先马黑洞3 电源:先马金牌500w CPU:AMD 锐龙5:2600X 主板:微星 X470 暗黑版 显卡:七彩虹 RTX2060 内存:科赋 3200,2条8 ...

  6. SpringBoot系列:Pojo validation

    JSR 303 规范了bean validation, Hibernate validator实现了JSR 303所有的规范, 同时也是最常用的validator 工具包. 使用 Hibernate ...

  7. DUMP101 企业级电商FE

    需求拆分原则 1. 单个迭代不能太大 2. 需求可交付,功能闭环 3. 成本意识 二八法则 4.  预期价值体现 ……………………………………………………………………………… 做 [直接 git cl ...

  8. 安装tftp

    #!/bin/bash # tftp install # 20180711 # 仅测试过操作系统 ubuntu 16.04 download_url='http://img.fe.okjiaoyu.c ...

  9. String总结

  10. Leetcode#70. Climbing Stairs(爬楼梯)

    题目描述 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数. 示例 1: 输入: 2 输出: 2 解 ...