了解微服务

    微服务架构风格是一种将单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,
服务间通信采用轻量级通信机制(通常使用HTTP)。这些服务围绕业务能力构建并且可通过自动部署机制
独立部署。这些服务公用一个最小型的集中式的管理,服务可用不同的语言开发,使用不同的数据存储技
术。

微服务总结

  1. 每个微服务可独立运行在自己的进程中。
  2. 一系列独立运行的微服务构建了整个系统。
  3. 每个服务独立开发,只关注自己的业务。
  4. 微服务通过轻量级的通信机制,RESTfulApi
  5. 可以使用不同的语言。
  6. 全自动的部署机制。

微服务优点

  1. 易于开发和维护,一个微服务只关注特定的功能。
  2. 单个微服务启动时间快速。
  3. 局部容易修改容易部署,某个模块出了问题只需要发布当前服务就行。单体应用是需要发布整个应用。
  4. 技术不受限制,例如:某个模块需要使用MySql数据库,某些模块需要使用Oracle数据库
  5. 可根据需求,实现细粒度的扩展。例如:某个服务遇到瓶颈可增加内存或者增加节点等

微服务缺点

  1. 运维成本增加。单体应用只需要保证一个应用正常就行,微服务需要保障多个甚至几十上百个。
  2. 分布式固定的复杂性,网络延迟、系统容错等情况。
  3. 接口调整成本高,如果某个接口修改了入参或者返回的类型,那么所有调用该接口的都需要修改。(可使用Json)

微服务设计原则

    1. 单一职责原则
          单一职责原则指的是一个单元(类、方法或者服务等)只应关注整个系统功能中单独、有界限的一部分。单一职责原则可以帮助我们更优雅的开发、更敏捷的交付。
    2. 服务自治原则
          服务自治原则是指每个微服务应具备独立的业务能力、依赖于运行环境。在微服务架构中,服务是独立的单元,应该与其他服务高度解耦。每个服务从开发、测试、构建、部署,都应当独立完成。
    3. 轻量级通信机制
          微服务之间应该通过轻量级的通信机制进行交互。常用协议有RESTAMQP、STOMP(STOMP,Streaming Text Orientated Message Protocol,是流文本定向消息协议,是一种为MOM(Message Oriented Middleware,面向消息的中间件)设计的简单文本协议。其中最流行的STOMP消息代理是Apache ActiveMQ。)、MQTT等.
    4. 微服务粒度
          微服务的粒度是难点,也常常是争论的焦点。应当合理的去划分微服务粒度,而不是一味的把服务做小。代码量的多少不能作为微服务的依据。因为微服务本身的业务复杂度不同,代码量也会不同。

      微服务架构

      目前市面上有SpringCloud 和dubbo等,后面笔者会写着两种。

微服务spring-cloud 学习第一天的更多相关文章

  1. 微服务 | Spring Cloud(一):从单体SSM 到 Spring Cloud

    系列文章目录 微服务 | Spring Cloud(一):从单体SSM 到 Spring Cloud 目录 系列文章目录 前言 单体式架构 微服务架构 优点 缺点 服务发现与弹性扩展 参考 前言 在微 ...

  2. 搭建高可用服务注册中心-Spring Cloud学习第一天(非原创)

    文章大纲 一.Spring Cloud基础知识介绍二.创建单一的服务注册中心三.创建一个服务提供者四.搭建高可用服务注册中心五.项目源码与参考资料下载六.参考文章   一.Spring Cloud基础 ...

  3. 微服务Spring Cloud与Kubernetes比较

    转 http://www.tuicool.com/articles/VnMf2y3 Spring Cloud或Kubernetes都宣称它们是开发运行微服务的最好环境,哪个更好?答案是两个都是,但他们 ...

  4. 微服务&spring cloud架构系列汇总

    为了方便查找,把微服务&微服务架构之spring cloud架构系列文章按时间正序整理了一下,记录如下:   1. 微服务架构之spring cloud 介绍 2. 微服务架构之spring ...

  5. SpringCloud---消息驱动的微服务---Spring Cloud Stream

    1.概述 1.1 Spring Cloud Stream:用来   为微服务应用   构建   消息驱动能力的框架: 可基于SpringBoot来创建独立.可用于生产的Spring应用程序: 使用Sp ...

  6. Spring Cloud学习(一):Eureka服务注册与发现

    1.Eureka是什么 Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的. Eureka ...

  7. Spring Cloud 学习 之 Spring Cloud Eureka(源码分析)

    Spring Cloud 学习 之 Spring Cloud Eureka(源码分析) Spring Boot版本:2.1.4.RELEASE Spring Cloud版本:Greenwich.SR1 ...

  8. Spring Cloud学习(一)

    Spring Cloud是什么? Spring Cloud是一系列框架的有序集合.它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册.配置中心.消息总线.负载 ...

  9. go微服务框架kratos学习笔记八 (kratos的依赖注入)

    目录 go微服务框架kratos学习笔记八(kratos的依赖注入) 什么是依赖注入 google wire kratos中的wire Providers injector(注入器) Binding ...

  10. go微服务框架kratos学习笔记十(熔断器)

    目录 go微服务框架kratos学习笔记十(熔断器) 什么是熔断 熔断器逻辑 kratos Breaker kratos 熔断逻辑 kratos熔断器使用说明 bladmaster client br ...

随机推荐

  1. LeetCode 622. Design Circular Queue

    原题链接在这里:https://leetcode.com/problems/design-circular-queue/ 题目: Design your implementation of the c ...

  2. 回溯法 | 旅行商问题(TSP问题)

    学习链接: 回溯法解旅行商问题(TSP).贪心算法:旅行商问题(TSP) 今天早上做了无数个梦,然后被紧紧地吸附在床上.挣扎一番后爬起来,已经是9点了.然后我开始研究旅行商问题. 在一个无向图中找到一 ...

  3. CSS3中box-sizing属性的作用以及应用场景

    盒模型box-sizing: 取值 1.content-box 默认值,标准盒模型,设置宽度为内容宽度,实际宽度为左右边距加上左右边框加上左右填充再加上内容宽度 2.border-box 设置宽度等于 ...

  4. LaTeX表格紧跟文字 (不影响下方文本对齐)

    很多博客会让你用下面这行替换\\begin{table}和\\end{table},但是这样替换以后,表格下方所有文字都变成了居中对齐,section格式也都失效了. \makeatletter\de ...

  5. 什么是SQL Server2019大数据群集?

    从SQL Server 2019(15.x)开始,SQL Server大数据群集允许您部署在Kubernetes上运行的SQL Server,Spark和HDFS容器的可伸缩群集.这些组件并排运行,使 ...

  6. cocos:C++ 导出到lua, genbindings.py修改

    cocos:C++ 导出到lua, genbindings.py修改 1. 准备 把tools目录下的cocos2dx_extension.ini, genbindings.py, userconf. ...

  7. Spring Boot 排除自动配置的 4 种方法,关键时刻很有用!

    Spring Boot 提供的自动配置非常强大,某些情况下,自动配置的功能可能不符合我们的需求,需要我们自定义配置,这个时候就需要排除/禁用 Spring Boot 某些类的自动化配置了. 比如:数据 ...

  8. Java的策略和保护域

    参考文章: (1)java之jvm学习笔记十(策略和保护域) https://blog.csdn.net/yfqnihao/article/details/8271415

  9. Docker安装及简单使用(Ubuntu)

    ### Ubuntu18下docker安装 * step 1: 安装必要的一些系统工具 sudo apt-get update sudo apt-get -y install apt-transpor ...

  10. SpringBoot 应用篇之从 0 到 1 实现一个自定义 Bean 注册器

    191213-SpringBoot 应用篇之从 0 到 1 实现一个自定义 Bean 注册器 我们知道在 spring 中可以通过@Component,@Service, @Repository 装饰 ...