Spring Cloud的常规组件和简单实战(一)
最近一段时间在学习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的常规组件和简单实战(一)的更多相关文章
- Spring Cloud Gateway过滤器精确控制异常返回(实战,完全定制返回body)
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 Spring Cloud Gateway应用 ...
- 《Spring Cloud与Docker微服务架构实战》配套代码
不才写了本使用Spring Cloud玩转微服务架构的书,书名是<Spring Cloud与Docker微服务架构实战> - 周立,已于2017-01-12交稿.不少朋友想先看看源码,现将 ...
- Spring Cloud与Docker微服务架构实战 PDF版 内含目录
Spring Cloud与Docker微服务架构实战 目录 1 微服务架构概述 1 1.1 单体应用架构存在的问题1 1.2 如何解决单体应用架构存在的问题3 1.3 什么是微服务3 1.4 微服务 ...
- Spring cloud的各类组件
Spring cloud 的各类组件 1.注册中心 eureka 2.ribbon 3.feign 4.hystirx 断路器 5.高速缓存器 redis 6.断路器Dashboard监控仪表盘
- spring cloud链路追踪组件sleuth和zipkin
spring cloud链路追踪组件sleuth 主要作用就是日志埋点 操作方法 1.增加依赖 <dependency> <groupId& ...
- Spring Boot版本,Spring Cloud版本与组件版本关系
我们在学习Spring Cloud时,可能总是碰到以下问题: 1.Spring Boot版本与Spring Cloud版本关系 2.启动时,报莫名其妙的错,稀里糊涂的换个版本就好了 3.这么多版本,用 ...
- 【Spring Cloud & Alibaba全栈开源项目实战】:SpringBoot整合ELK实现分布式登录日志收集和统计
一. 前言 其实早前就想计划出这篇文章,但是最近主要精力在完善微服务.系统权限设计.微信小程序和管理前端的功能,不过好在有群里小伙伴的一起帮忙反馈问题,基础版的功能已经差不多,也在此谢过,希望今后大家 ...
- 一句话概括下spring框架及spring cloud框架主要组件
作为java的屌丝,基本上跟上spring屌丝的步伐,也就跟上了主流技术.spring 顶级项目:Spring IO platform:用于系统部署,是可集成的,构建现代化应用的版本平台,具体来说当你 ...
- Spring Cloud与Docker微服务架构实战 PDF
电子版百度云下载 链接: https://pan.baidu.com/s/115u011CJ8MZzJx_NqutyTQ 提取码: 关注公众号[GitHubCN]回复2019获取 本书的代码 共计70 ...
随机推荐
- Feign 报错:No fallback instance of type class xxx found for feign client xxx
通常需要确认配置内容: 开启 Hystrix:feign.hystrix.enabled=true Fallback类需要注解@Component 出处:https://www.jianshu.com ...
- Python并发编程之进程同步
""" 问题:当多个进程使用同一份数据资源的时候,就会引发数据安全或顺序混乱的问题 """ ''' 进程同步 ''' #多进程抢占输出资源 ...
- CNCF LandScape Summary
CNCF Cloud Native Interactive Landscape 1. App Definition and Development 1. Database Vitess:itess i ...
- VIJOS-P1320 清点人数
JDOJ 1427: VIJOS-P1320 清点人数 题目传送门 Description 初始时,火车上没有学生:当同学们开始上火车时,年级主任从第一节车厢出发走到最后一节车厢,每节车厢随时都有可能 ...
- Margin和padding失效
太久不写原生果然不行,Margin和padding对div有效,对span失效,原因就不解释了(元素性质,块状之类的)
- 基于react开发package.json的配置
项目依赖 react网页开发的3件套: react, react-dom, react-router-dom, redux, react-reduxreact的UI组件库: antd(pc端), an ...
- Spring---SSH整合(二)
基于Spring---SSH整合,使用SSH编写后台: User模块层 TreeNode.hbm.xml <?xml version="1.0" encoding=" ...
- document.write和innerHTML的区别?
document.write是直接重写整个页面,innerHTML针对所属DOM节点进行重写,效率优于document.write.
- qbxt济南七日(游)学习
七月的风八月的雨 卑微的我喜欢遥远的你 第七天: 更新 友谊的巨轮! 第六天: 我好饿 动态规划wcnm hhh, zkx坐在我旁边xswl 只要我和男生聊天 他就会把头探过来 用肯定的语气说: &q ...
- 淘宝IP地址库获取到省市IP地址
http://ip.aliyun.com/index.html https://ispip.clang.cn/ https://github.com/Pingze-github/local-ips 1 ...