本文浅谈只是对我自己初期认识这spring cloud的一个笔记。

微服务是一种架构风格和一种应对业务的架构策略。实现这种的技术方式很多。本文主要说spring cloud。

spring cloud主要包括一下几个组件:

1,eureka 注册中心。

   1)一个eureka服务也是客户端,可以自己注册自己,也可以相互注册形成高可用集群。

   2)eureka是客户端发现服务,客服端自己过滤,和选择负载均衡策略。

3)eureka与注册服务器保持通信是通过心跳检测机制。

2,ribbon负载均衡器,三个方法核心。

1)获取所有服务列表。

   2)rule。选择服务器规则(默认轮询)

3)监听可用服务列表

3,通讯方式。

1)restTempte 请求

   2)feign 请求。

4,config 统一配置中心。

1)config-server从远端git服务器拉取配置到本地的git.

    2) 调用端config-client,在注册中心获取config-server服务。

    注意把application.yml改成bootstrap.yml。

    3)获取方式 ,看日志或者文档(lable/name-dev.yml)

5,bus动态配置刷新。用于config自动刷新。

    1)config-server和config-client配置bus和MQ。

    2) 远端git服务配置 webhook回调bus.

    3)使用就在pom.xml配置bus的maven。

6,zuul服务网管。

   1)性能比nginx差。

   2)路由+过滤器 =zuul

   3) 核心是一系列的过滤器。

前置(pre)

    后置(post)

      路由(Route)

    错误(Error)

4)限流(RateLimiter)令牌算法,放在fiter优先级最高。也可以配合nginx分流用。

5)可以鉴权和统一跨域配置(nginx也可以做跨域)。

7,hystrix服务容错。服务之间调用会有各种问题。这个组件用在所有调用方。

  1)为服务器提供容错保护。在资源不够或者业务压力大的时候使用优先核心服务。主要四点作用

    服务降级

    依赖隔离(线程池隔离)

    服务熔断

    监控(hystrix-dashboard)

  2)使用:

    a,通过hystrixCommand注解指定请求。

    b,fallbavkMethed实现降级后的实现逻辑。

3) 超时降级默认1秒。所有要根据具体业务,和调用链具体配置。

  4)服务熔断主要四个配置。

    设置熔断为true

    请求数(统计单位)

    熔断时间(这段时间请求都执行fallback)

    错误百分比

  5)dashboard监控要配合使用。监控熔断,界面监控。

8,dashboard服务监控界面。给hystrix提供界面监控。

9,sleuth链路监控。主要是唯一标识对应一个请求,和一个请求的服务。

1,日志打印唯一请求标识。

    2,配置把数据推向zipkin

   3,抽样百分比(开发环境设置为1)

10,zipkin链路监控可视化。

  1,主要界面可视化查看链路调用情况。

  2,使用的时候,一般pom.xml配置zipkin,包含了sleuth。

*******************************

因为spring cloud还是有点巨大,东西比较多。建议根据业务需要团队人数才采用这个架构。

    

    

    

springCloud 常用组件总结的更多相关文章

  1. SpringCloud基础组件总结,与Dubbo框架、SpringBoot框架对比分析

    本文源码:GitHub·点这里 || GitEE·点这里 一.基础组件总结 1.文章阅读目录 1).基础组件 Eureka组件,服务注册与发现 Ribbon和Feign组件,实现负载均衡 Hystri ...

  2. SpringCloud及其组件详解

    SpringCloud及其组件详解 1.Spring Cloud 1.1 Spring Cloud和Dubbo的区别图解 1.2 微服务的技术栈 2.Spring Cloud 概述 2.1 Sprin ...

  3. java基础 常用组件

    几个常用组件: 在图形用户界面编程中,我们常常会提供用户登陆界面,比如登陆到会员管理系统,登陆到工资管理系统,仓库管理系统等,如下图我们就会用到: 1. 文本框(JTextField) 2. 密码框( ...

  4. Android常用组件

    UI相关 图片 Android-Universal-Image-Loader:com.nostra13.universalimageloader:异步加载.缓存.显示图片 ImageLoader:co ...

  5. Android常用组件【转】

    UI相关 图片 Android-Universal-Image-Loader:com.nostra13.universalimageloader:异步加载.缓存.显示图片 ImageLoader:co ...

  6. swing菜单,常用组件,常用容器

    1菜单 import javax.swing.*; import java.awt.*; import java.awt.event.InputEvent; import java.awt.event ...

  7. 第18讲- UI常用组件之EditText

    第18讲UI常用组件之EditText 三.文本输入框EditText EditTex类继承自TextView.EditText是接受用户输入信息的最重要控件.在html当中,相当于<input ...

  8. 第17讲- UI常用组件之ImageView图片浏览

    第17讲 UI常用组件之ImageView图片浏览 二.图片浏览ImageView ImageView就是一个用来显示图片的视图: ImageView常见属性 常见属性 对应方法 说明 android ...

  9. SWT入门-常用组件的使用(转)

    转自:http://www.cnblogs.com/kentyshang/archive/2007/08/16/858367.html swt的常用组件button ,text ,combo,list ...

随机推荐

  1. Arduino函数

    输入输出函数 pinMode(pin, mode)将数位脚位(digital pin)指定为输入或输出.如:pinMode(7,INPUT); // 将脚位 7 设定为输入模式 digitalWrit ...

  2. OpenJudge - NOI - 1.1编程基础之输入输出(C语言 全部题解)

    01:Hello, World! #include <stdio.h> int main(void) { printf("Hello, World!"); return ...

  3. 001、JAVA开发环境安装与eclipse软件第一印象

    折腾了快1个星期,一直没有成功装好JAVA环境,eclipse一直打不开,java环境配置的问题真是不得不吐槽一下,太烂了.今天反反复复折腾好久,终于搞定了.用的金山毒霸,方法如下: 一.打开金山毒霸 ...

  4. 八十五、SAP中的ALV创建之四,去掉主键背景色

    一.我们执行程序之后,发现表格中所有的内容都是有底色的 二.这个是因为我们在代码中规定了主键 三.我们去掉处理第一个之外的主键 四.运行程序,发现还是所有字段都有背景色 五.这是因为在每次ls_fie ...

  5. MSP430系列单片机笔记00

    嵌入式系统 嵌入式系统(Embedded system),是一种“完全嵌入受控器件内部,为特定应用而设计的专用计算机系统”,根据英国电气工程师协会( U.K. Institution of Elect ...

  6. POJ 2182&& POJ 2828:Lost Cows 从后往前 线段树

    Lost Cows Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10544   Accepted: 6754 Descri ...

  7. s5pc100开发板uboot移植

    相关软件下载地址:http://pan.baidu.com/s/16yo8Y 适用于fsc100开发板 交叉编译器arm-cortex_a8-linux-gnueabi-gcc u-boot-2010 ...

  8. python的库有多少个?python有多少个模块?

    这里列举了大概500个左右的库: !   Chardet字符编码探测器,可以自动检测文本.网页.xml的编码. colorama主要用来给文本添加各种颜色,并且非常简单易用. Prettytable主 ...

  9. CSS3 之高级动画(6)CSS3 clip-path属性实现的几何图形变形动画

    clip-path 属性介绍: clip-path属性可以创建一个只有元素的部分区域可以显示的剪切区域. 区域内的部分显示,区域外的隐藏. 剪切区域是被引用内嵌的URL定义的路径或者外部svg的路径. ...

  10. mybatis的一对多和多对一的连接查询

    实体类: package com.entity; import java.util.List; public class Dept { private Integer deptId; private ...