SpringCloud
文章平均质量分 92
绿豆蛙给生活加点甜
人们总爱追问人生的意义,其实人生本无所谓意义,因为存在先于本质,本质之前的存在是禁绝思考的。人生的无意义赋予了人的自由,倘若人生有一个注定的意义,那么人人都如同一具机器。
展开
-
SpringCloud——Zuul从0到1实战,构建微服务网关
Zuul为什么要使用微服务网关经过前文的讲解,微服务架构已经初具雏形,但还有一些问题——不同的微服务一般会有不同的网络地址,而外部客户端(例如手机APP)可能需要调用多个服务的接口才能完成一个业务需求。例如一个电影购票的手机APP,可能调用多个微服务的接口才能完成一次购票的业务流程,如图8-1所示如果让客户端直接与各个微服务通信,会有以下的问题:客户端会多次请求不同的微服务,增加了客户端的复杂性。存在跨域请求,在一定场景下处理相对复杂。认证复杂,每个服务都需要独立认证。难以重构,随着项目的原创 2022-03-15 22:10:31 · 289 阅读 · 0 评论 -
SpringCloud——Hystrix从0到1实战
HystrixEureka实现了微服务的注册与发现,Ribbon实现了客户端侧的负载均衡,Feign实现了声明式的API调用。现在让我们探讨如何使用Hystrix实现微服务的容错实现容错的手段如果服务提供者响应非常缓慢,那么消费者对提供者的请求就会被强制等待,直到提供者响应或超时。在高负载场景下,如果不做任何处理,此类问题可能会导致服务消费者的资源耗竭甚至整个系统的崩溃。例如,曾经发生过一个案例——某电子商务网站在一个黑色星期五发生过载。过多的并发请求,导致用户支付的请求延迟很久都没有响应,在等待很原创 2022-03-15 21:13:45 · 592 阅读 · 0 评论 -
SpringCloud——Feign从0到1入门实战
Feign引言初学时,我们是使用拼接字符串的方式构造URL的,该URL只有一个参数。然而在现实中,URL中往往有多个参数。如果这时还使用这种方式构造URL,那么就会变得很低效,并且难以维护,如下:http://localhost:8080/search?name=zhangsan&address=beijing&age=20在这里,URL仅包含3个参数。如果URL更加复杂,例如有10个以上的参数,那么代码会变得难以维护。如何解决这种问题呢?下面将会给你答案Feign简介Feig原创 2022-03-14 20:35:19 · 864 阅读 · 0 评论 -
SpringCloud——Ribbon从0到1入门实战
RibbonRibbon是Netflix发布的负载均衡器,它有助于控制HTTP和TCP客户端的行为。为Ribbon配置服务提供者地址列表后,Ribbon就可基于某种负载均衡算法,自动地帮助服务消费者去请求。Ribbon默认为我们提供了很多的负载均衡算法,例如轮询、随机等。当然,我们也可为Ribbon实现自定义的负载均衡算法。在Spring Cloud中,当Ribbon与Eureka配合使用时,Ribbon可自动从Eureka Server获取服务提供者地址列表,并基于负载均衡算法,请求其中一个服务提供者原创 2022-03-14 13:15:51 · 524 阅读 · 0 评论 -
SpringCloud——高可用EurekaServer应该这样编写
高可用Eureka Server构建一个双节点Eureka Server集群Eureka Serverpom.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://m原创 2022-03-13 23:55:15 · 643 阅读 · 0 评论 -
SpringCloud——Eureka从0到1入门实战
EurekaEureka 简介Eureka 是 Netflix 开发的服务发现框架,本身是一个基于 REST 的服务,主要用于定 位运行在 AWS 域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。 SpringCloud 将它集成在其子项目 spring-cloud-netflix 中,以实现 SpringCloud 的服务发现 功能。Eureka 包含两个组件:Eureka Server 和 Eureka Client。Eureka ServerEureka Server 提供服务注原创 2022-03-13 22:19:01 · 680 阅读 · 0 评论 -
SpringCloud——什么是微服务?
微服务“微服务”一词源于Martin Fowler的名为Microservices的博文,可以在他的官方博客上找到:http://martinfowler.com/articles/microservices.html简单地说,微服务是系统架构上的一种设计风格,它的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于HTTP的RESTful API进行通信协作。被拆分成的每一个小型服务都围绕着系统中的某一项或一些耦合度较高的业务功能进行构建,并且每个服务都原创 2022-03-13 14:27:01 · 1142 阅读 · 0 评论