微服务概念

一、什么是微服务架构

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

为什么需要微服务:

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. 洛谷P1233 木棍加工题解 LIS

    突然发现自己把原来学的LIS都忘完了,正好碰见这一道题.|-_-| \(LIS\),也就是最长上升子序列,也就是序列中元素严格单调递增,这个东西有\(n^{2}\)和\(nlog_{2}n\)两种算法 ...

  2. linux18.04下安装的jdk11.0.2

    1.百度搜索jdk,选择jdk11.0.2,操作如下图: 2.下载完成,ctrl+alt+t打开终端并在/usr/local创建java文件夹 cd /usr/local sudo mkdir /us ...

  3. html页面中引入自签名证书的js web资源出现net::ERR_CERT_AUTHORITY_INVALID

    其实是浏览器客户端对自签名的内容认为不安全引起的,临时方法可以再浏览器中先直接访问下那个自签名的https地址,然后再访问有引用的那个页面就可以了. 以下内容引用自https://www.morong ...

  4. 二.django项目环境搭建

    Ⅰ.web框架介绍 1.socket 服务端 1)客户端(手机中各种app.浏览器)是用来与服务端(网站的服务器程序)进行交互的 2)服务端类似发电厂,客户端类似电器,socket类似插座,互联网的数 ...

  5. 模型评估【PR|ROC|AUC】

    这里主要讲的是对分类模型的评估. 1.准确率(Accuracy) 准确率的定义是:[分类正确的样本] / [总样本个数],其中分类正确的样本是不分正负样本的 优点:简单粗暴 缺点:当正负样本分布不均衡 ...

  6. Windows 记事本的 ANSI、Unicode、UTF-8 这三种编码模式有什么区别?

    [梁海的回答(99票)]: 简答.一些细节暂无精力查证,如果说错了还请指出. 一句话建议:涉及兼容性考量时,不要用记事本,用专业的文本编辑器保存为不带 BOM 的UTF-8. * * * 如果是为了跨 ...

  7. JDK1.8 HashMap源码分析

      一.HashMap概述 在JDK1.8之前,HashMap采用数组+链表实现,即使用链表处理冲突,同一hash值的节点都存储在一个链表里.但是当位于一个桶中的元素较多,即hash值相等的元素较多时 ...

  8. Linux运维(首页)

    系统学习,以此见证学习历程 Linux运维基础 安装vmware+centos Linux基础 Linux的一些问题 Ubuntu遇到的bug linux_网易云音乐安装 linux_添加图标 遇到的 ...

  9. LINQ to SQL 的常见异常及解决办法

    Ø  简介 本文主要介绍 LINQ to SQL 中常见的异常,以及对应的解决办法.包括以下内容: 1.   左连接情况下,右表非空类型字段可能抛出异常 1.   左连接情况下,右表非空类型字段可能抛 ...

  10. like 模糊查询

    select * from empwhere ename like '%O%' and ename like '%T%'--查询下员工姓名中有O和T的