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 ...
随机推荐
- LaTeX公式手册(全网最全)
参考维基百科的数学公式教程 参考Cmd Markdown 公式指导手册 本文为 MathJax 在 Markdown 环境下的语法指引. 如何插入公式 \(\LaTeX\) 的数学公式有两种:行中公式 ...
- SpringBoot全局Jackson配置未生效
在做一个小项目,后台服务第一次用SpringBoot构建.接口使用Json格式,在application.properties中配置如下: spring.jackson.default-propert ...
- css display:inline
- tomcat 多实例部署
tomcat 配置多个实例 参考文档 聊聊 Tomcat 的单机多实例 https://www.cnblogs.com/mafly/p/tomcat.html 极客学院 Tomcat 8 权威指南 h ...
- Resource Site
GameDevMarket.net Collection of Music, Sound effects (sfx), 2D/3D/GUI Art. http://gaurav.munjal.us/U ...
- ESP8266 SDK开发: 开发环境搭建
前言 这节安装下编程软件, 可以去官网下载, https://wiki.ai-thinker.com/ai_ide_install 也可以安装我提供的(我使用的为官方以前版本) 建议安装我提供的,有问 ...
- T1 :最小值(min)题解 ——2019.10.15
思路: 对于 % 30 的数据,可以想到一个 Dp 方程: 其中dp[i]表示分割[1,i]的最大答案 代码: #include<cstdio> #include<cstring&g ...
- 加入mapstruct后出现 找不到符号 符号: 方法 setXX 的解决方法
加入lombok解决 <build> <plugins> <plugin> <groupId>org.springframework.boot</ ...
- shell脚本监控阿里云专线网络状态,若不通通过触发阿里云的进程监控报警
#!/bin/bash while [ 1 ] do rtt=`ping -c 3 15.0.160.18 |grep rtt |awk '{print $4}' |awk -F'/' '{print ...
- 依赖注入之unity(winform方式)
依赖注入之unity(winform方式) 要讲unity就必须先了解DI和IOC及DIP,如下链接提供DI和IOC的基础:https://www.cnblogs.com/zlp520/p/12015 ...