![](https://img-blog.csdnimg.cn/20210113170833287.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
微服务
文章平均质量分 77
手把手搭建微服务,由浅入深了解spring cloud治理下的微服务框架
乐羊子灰
吃饭哪有敲代码香
展开
-
专栏结语:基于spring cloud的工具栈
服务注册发现:Eurake服务配置:Spring Cloud Config服务熔断:Hystrix网关:Spring Cloud Gateway负载均衡:Feign追踪工具:Sleuth,Zipkin,Htrace日志采集:logback,ElasticSearch监控平台:Promethues,Kibana,grafna,Spring boot admin...原创 2021-02-18 14:53:05 · 88 阅读 · 0 评论 -
Eureka和ZooKeeper的区别
首先我们先说下:RDBMS==>(MySql,Oracle,SqlServer等关系型数据库)遵循的原则是:ACID原则(A:原子性。C:一致性。I:独立性。D:持久性。)。NoSql==> (redis,Mogodb等非关系型数据库)遵循的原则是:CAP原则(C:强一致性。A:可用性。P:分区容错性)。在分布式领域有一个很著名的CAP定理:C:数据一致性。A:服务可用性。P:分区容错性(服务对网络分区故障的容错性)。在这个特性中任何分布式系统只能保证两个。CAP理论也就是说在原创 2021-01-29 16:44:49 · 571 阅读 · 0 评论 -
微服务网关Zuul和Gateway的区别
https://blog.csdn.net/u010681191/article/details/99656413https://www.zhihu.com/question/280850489https://www.cnblogs.com/lgg20/p/12507845.htmlAPI网关性能比较:NGINX vs. ZUUL vs. Spring Cloud Gatewayhttp://www.360doc.com/content/18/0208/05/46368139_728502763.s原创 2021-01-29 16:30:43 · 1515 阅读 · 3 评论 -
八、项目接入网关gateway
新建项目依赖注入pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.a原创 2021-01-29 16:12:27 · 919 阅读 · 1 评论 -
不重启config服务使配置更新生效
前言项目如何接入spring cloud config,请看上文链接实际使用中,项目启动顺序是:启动服务注册中心(register-service)启动配置中心(config-service)启动客户端这样就导致配置中心如果更新配置文件或者停掉服务,并不影响客户端使用配置文件(此时已经加载配置文件),但是我们想要的效果是:如果修改了配置文件,客户端也可以做出响应手动刷新更新配置文件客户端pom.xml中引入了spring-boot-starter-actuator并在客户端配置文件中确认原创 2021-01-28 11:19:08 · 664 阅读 · 0 评论 -
七、配置中心Config
前言开发到此可发现多项目维护配置文件其实都是一样的,而且不利于后期统一维护,所以项目需要接入一个配置中心第三方配置中心产品微服务配置中心选型比较——Nacos、Apollo、Config由于Disconf不再维护,下面对比一下Spring Cloud Config、Apollo和Nacos。Disconf:百度开源的配置管理中心,目前已经不维护了Spring Cloud Config: Spring Cloud 生态组件,可以和Spring Cloud体系无缝整合。Apollo: 携程开源的原创 2021-01-27 18:44:47 · 167 阅读 · 0 评论 -
Spring Cloud Feign 之Fallback
作用在网络请求时,可能会出现异常请求,如果还想再异常情况下使系统可用,那么就需要容错处理,比如:网络请求超时时给用户提示“稍后重试”或使用本地快照数据等等。Spring Cloud Feign就是通过Fallback实现的...原创 2021-01-25 14:19:34 · 1073 阅读 · 0 评论 -
六、项目接入OpenFeign
Ribbon、Feign和OpenFeign的区别RibbonRibbon 是 Netflix开源的基于HTTP和TCP等协议负载均衡组件Ribbon 可以用来做客户端负载均衡,调用注册中心的服务Ribbon的使用需要代码里手动调用目标服务,请参考官方示例:https://github.com/Netflix/ribbonFeignFeign是Spring Cloud组件中的一个轻量级RESTful的HTTP服务客户端Feign内置了Ribbon,用来做客户端负载均衡,去调用服务注册中心的服务原创 2021-01-21 19:00:54 · 558 阅读 · 4 评论 -
五、项目集成Eureka、Hystrix
创建Eureka注册中心(服务端)新建一个maven项目在基础的spring boot基础上,注入相关依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ma原创 2021-01-19 22:24:26 · 300 阅读 · 0 评论 -
熔断器Hystrix作用
容错限流的需求在复杂的分布式系统中通常有很多依赖,如果一个应用不能对来自依赖故障进行隔离,那么应用本身就处于被拖垮的风险中。在一个高流量的网站中,某一个单一后端一旦发生延迟,将会在数秒内导致所有的应用资源被耗尽,这也就是我们常说的雪崩效应。比如在电商系统的下单业务中,在订单服务创建订单后同步调用库存服务进行库存的扣减,假如库存服务出现了故障,那么会导致下单请求线程会被阻塞,当有大量的下单请求时,则会占满应用连接数从而导致订单服务无法对外提供服务容错限流的原理对于基本的容错限流模式,主要有以下几点需要原创 2021-01-19 22:22:41 · 791 阅读 · 0 评论 -
四、项目接入Security
啊原创 2021-01-15 20:59:33 · 325 阅读 · 0 评论 -
actuator配置拓展
开启更多监控信息如之前文章最终效果默认支持的链接有:/actuator/actuator/health/health/{component}/{instance}/health/{component}/actuator/info可以在application.yml 配置文件中配置开启更多的监控信息:#注意,不要使用 application.properties 配置文件,会报一些奇怪的错误(比如配置不生效)。# 声明暴露出所有接口management: endpoints:原创 2021-01-14 20:55:54 · 1373 阅读 · 0 评论 -
三、项目接入Spring Boot Actuator
Actuator简介生产系统中,往往需要对系统实际运行的情况(例如cpu、io、disk、db、业务功能等指标)进行监控运维。在SpringBoot项目中Actuator模块提供了众多HTTP接口端点(Endpoint),来提供应用程序运行时的内部状态信息。Actuator模块提供了一个监控和管理生产环境的模块,可以使用http、jmx、ssh、telnet等来管理和监控应用。包括应用的审计(Auditing)、健康(health)状态信息、数据采集(metrics gathering)统计等监控运维的原创 2021-01-14 19:42:37 · 481 阅读 · 1 评论 -
swagger弹性拓展
Swagger配置类package com.springboot.demo.properties;import com.google.common.collect.Lists;import lombok.Data;import lombok.NoArgsConstructor;import java.util.List;/** * @author zihui * @version 1.0 * @title: SwaggerProperties * @description: TOD原创 2021-01-14 14:10:06 · 331 阅读 · 0 评论 -
二、项目接入swagger(API文档工具 )
官网配置依赖的包 <properties> <swagger.version>2.9.2</swagger.version> </properties> <dependencies> <!-- 将swagger整合到spring boot项目中 --> <dependency> <groupId>io.springfox</group原创 2021-01-13 18:49:22 · 1012 阅读 · 0 评论 -
一、创建springboot项目
1. idea中创建maven项目2. pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 ht原创 2021-01-13 16:53:35 · 93 阅读 · 0 评论