最近一段时间在学习Spring Cloud,从Eureka到Hystrix,常用的配置和方法都有涉及一些,以此笔记来记录一下学习到的东西,也分享一下。内容以实战为起点,主要以介绍常规用法为主,最后也会列出遇到的几个问题和解决方法,希望能对初学者有一些帮助。

1、 微服务介绍(是一种架构风格)
  1)微服务特点
     一系列微小的服务共同组成
    跑在自己的进程里
    每个服务为独立的业务开发
    独立部署
    分布式的管理

  2)架构演变
    单一应用架构/ORM --> 垂直应用架构/MVC --> 分布式服务架构/RPC --> 流动计算架构/SOA

  3)分布式定义
    旨在支持应用程序和服务的开发,可以利用物理架构,由多个自治的处理元素,不共享主内存,但通过网络发送消息合作。

  4)微服务架构的基础框架/组件
    服务注册发现:服务的注册和发现,服务内部通讯
    服务网关(Service Gateway):服务对外暴露,对外屏蔽服务细节、路由外部请求至具体微服务、限流容错、请求监控(用户校验、反爬虫机制等)
    后端通用服务(也称中间层服务Middle Tier Service):注册至服务注册表,供前端服务调用
    前端服务(也称边缘服务Edge Service): 对后端服务进行裁剪和聚合

  5)微服务实现两种方式
    阿里系:
      -Dubbo:服务治理
      -Zookeeper:服务注册中心
      -SpringMVC or SpringBoot:底层实现
      -...
    Spring Cloud:
      -Spring Cloud Netflix Eureka
      -SpringBoot
      -...

2、 Spring Cloud简介
  1)Spring Cloud是一个开发工具集,含了多个子项目
    -利用Spring Boot的开发便利
    -主要是基于对Netflix开源组件的进一步封装

  2)Spring Cloud简化了分布式开发(掌握如何使用,更要理解分布式、架构的特点)

3、 Spring Cloud Eureka
  1)基于Netflix Eureka做了二次封装

  2)两个组件组成
    -Eureka Server 注册中心(维持心跳连接、检测服务)
    -Eureka Client 服务注册(简化与服务器的交互、轮询负载均衡器、提供服务故障切换)

  3)EurekaServer
    注解:EnableEurekaServer(注册服务注解)
    依赖:spring-cloud-starter-netflix-eureka-server
    高可用:EurekaServer相互注册、EurekaClient多方注册
    主要配置:

eureka:
client:
service-url:
# 配置Eureka Server地址,Eureka本身也是服务,也需要进行注册,若多个Server,地址用逗号隔开(启动Server服务后,访问服务ip:port可找到注册地址)
defaultZone: http://127.0.0.1:8681/eureka
# 是否在Eureka服务注册中心可见
register-with-eureka: false

4)EurekaClient
  注解:EnabelDiscoveryClient(服务提供者注解)
  依赖:spring-cloud-starter-netflix-eureka-client(spring-boot-starter-web)
  主要配置:  

spring:
application:
# 服务名,在注册中心为服务id
name: demo
eureka:
client:
service-url:
# Eureka Server的注册地址,若有多个,可只注册一个
defaultZone: http://localhost:8681/eureka/

Spring Cloud的常规组件和简单实战(一)的更多相关文章

  1. Spring Cloud Gateway过滤器精确控制异常返回(实战,完全定制返回body)

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 Spring Cloud Gateway应用 ...

  2. 《Spring Cloud与Docker微服务架构实战》配套代码

    不才写了本使用Spring Cloud玩转微服务架构的书,书名是<Spring Cloud与Docker微服务架构实战> - 周立,已于2017-01-12交稿.不少朋友想先看看源码,现将 ...

  3. Spring Cloud与Docker微服务架构实战 PDF版 内含目录

    Spring Cloud与Docker微服务架构实战  目录 1 微服务架构概述 1 1.1 单体应用架构存在的问题1 1.2 如何解决单体应用架构存在的问题3 1.3 什么是微服务3 1.4 微服务 ...

  4. Spring cloud的各类组件

    Spring cloud 的各类组件 1.注册中心 eureka 2.ribbon 3.feign 4.hystirx 断路器 5.高速缓存器 redis 6.断路器Dashboard监控仪表盘

  5. spring cloud链路追踪组件sleuth和zipkin

    spring cloud链路追踪组件sleuth     主要作用就是日志埋点 操作方法 1.增加依赖             <dependency>      <groupId& ...

  6. Spring Boot版本,Spring Cloud版本与组件版本关系

    我们在学习Spring Cloud时,可能总是碰到以下问题: 1.Spring Boot版本与Spring Cloud版本关系 2.启动时,报莫名其妙的错,稀里糊涂的换个版本就好了 3.这么多版本,用 ...

  7. 【Spring Cloud & Alibaba全栈开源项目实战】:SpringBoot整合ELK实现分布式登录日志收集和统计

    一. 前言 其实早前就想计划出这篇文章,但是最近主要精力在完善微服务.系统权限设计.微信小程序和管理前端的功能,不过好在有群里小伙伴的一起帮忙反馈问题,基础版的功能已经差不多,也在此谢过,希望今后大家 ...

  8. 一句话概括下spring框架及spring cloud框架主要组件

    作为java的屌丝,基本上跟上spring屌丝的步伐,也就跟上了主流技术.spring 顶级项目:Spring IO platform:用于系统部署,是可集成的,构建现代化应用的版本平台,具体来说当你 ...

  9. Spring Cloud与Docker微服务架构实战 PDF

    电子版百度云下载 链接: https://pan.baidu.com/s/115u011CJ8MZzJx_NqutyTQ 提取码: 关注公众号[GitHubCN]回复2019获取 本书的代码 共计70 ...

随机推荐

  1. 我以为我对Kafka很了解,直到我看了此文章

    Kafka 是一个消息系统,原本开发自 LinkedIn,用作 LinkedIn 的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础. 现在它已被多家不同类型的公司 ...

  2. JAVA web 框架集合

    “框架”犹如滔滔江水连绵不绝, 知道有它就好,先掌握自己工作和主流的框架: 在研究好用和新框架. 主流框架教程分享在Java帮帮-免费资源网 其他教程需要时间制作,会陆续分享!!! 152款框架,你还 ...

  3. USACO Party Invitations

    洛谷 P3068 [USACO13JAN]派对邀请函Party Invitations 洛谷传送门 JDOJ 2343: USACO 2013 Jan Silver 3.Party Invitatio ...

  4. SimpleDateFormat 中的yyyy-MM-dd HH:mm:ss.SSS说明

    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 转换的格式:yyyy是完整的西元年,MM是月份, ...

  5. ubunt 文件permission denied问题的解决

    在linux系统使用过程中,升级python到3.6以后,执行pip命令,遇到permission denied问题,系统显示如下: -bash: /home/www/my_flask/venv/bi ...

  6. 7-ESP8266 SDK开发基础入门篇--串口处理数据,控制LED

    接着上一节的写 咱先做一个单片机串口接收到什么就回过来什么 咱自己写个发送函数,其实就是仿照官方的写的 别忘了 现在咱建个任务处理串口数据 下载进去 现在是三个任务都在运行了...操作系统是不是很神奇 ...

  7. Qt常用类——Qstring

    Qstring有一些方面跟C/C++中的string的使用,例如把一个字符串追加到另一个字符串中,也是用“+”.也有append函数等. 下面是是Qstring的一些常用的具体函数示例: Qt的QSt ...

  8. 图的遍历 | 1131地铁图: dfs复杂模拟题

    这题在搞清楚思路绕过坑后,还是可以写的出通过sample data的代码的.但是不能AC,让我很气. 最后查清原因:还是对dfs本质理解的不够. wa代码: vis[s]=1; dfs(s,e,0); ...

  9. 【贪心】【P4053】[JSOI2007] 建筑抢修

    [贪心][P4053][JSOI2007] 建筑抢修 Description 有 \(n\) 个工作,第 \(i\) 个工作做完需要 \(a_i\) 的时间,并且必须在 \(b_i\) 时刻前完成.求 ...

  10. docker 创建私有镜像之 registry

    一.下载 registry 镜像 [root@localhost ~]# docker pull registry Using default tag: latest latest: Pulling ...