最近一段时间在学习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. Feign 报错:No fallback instance of type class xxx found for feign client xxx

    通常需要确认配置内容: 开启 Hystrix:feign.hystrix.enabled=true Fallback类需要注解@Component 出处:https://www.jianshu.com ...

  2. Python并发编程之进程同步

    """ 问题:当多个进程使用同一份数据资源的时候,就会引发数据安全或顺序混乱的问题 """ ''' 进程同步 ''' #多进程抢占输出资源 ...

  3. CNCF LandScape Summary

    CNCF Cloud Native Interactive Landscape 1. App Definition and Development 1. Database Vitess:itess i ...

  4. VIJOS-P1320 清点人数

    JDOJ 1427: VIJOS-P1320 清点人数 题目传送门 Description 初始时,火车上没有学生:当同学们开始上火车时,年级主任从第一节车厢出发走到最后一节车厢,每节车厢随时都有可能 ...

  5. Margin和padding失效

    太久不写原生果然不行,Margin和padding对div有效,对span失效,原因就不解释了(元素性质,块状之类的)

  6. 基于react开发package.json的配置

    项目依赖 react网页开发的3件套: react, react-dom, react-router-dom, redux, react-reduxreact的UI组件库: antd(pc端), an ...

  7. Spring---SSH整合(二)

    基于Spring---SSH整合,使用SSH编写后台: User模块层 TreeNode.hbm.xml <?xml version="1.0" encoding=" ...

  8. document.write和innerHTML的区别?

    document.write是直接重写整个页面,innerHTML针对所属DOM节点进行重写,效率优于document.write.

  9. qbxt济南七日(游)学习

    七月的风八月的雨 卑微的我喜欢遥远的你 第七天: 更新 友谊的巨轮! 第六天: 我好饿 动态规划wcnm hhh, zkx坐在我旁边xswl 只要我和男生聊天 他就会把头探过来 用肯定的语气说: &q ...

  10. 淘宝IP地址库获取到省市IP地址

    http://ip.aliyun.com/index.html https://ispip.clang.cn/ https://github.com/Pingze-github/local-ips 1 ...