
SpringCloud
文章平均质量分 87
上善若水
每天努力一点,就离大神们近一点。
展开
-
十一、SpringCloud实用篇_Gateway服务网关
一、Gateway服务网关Spring Cloud Gateway是Spring Cloud的一个全新项目,该项目是基于Spring5.0,Spring Boot 2.0和Project Reactor等响应式编程和事件流技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的API路由管理方式。1.1、为什么需要网关Gateway网关是我们服务的守门神,所有微服务的统一入口。网关的核心功能特性:服务路由、负载均衡身份认证和权限校验请求限流架构图:权限控制:网关作为微服务入口,需要校原创 2021-12-07 20:50:39 · 2358 阅读 · 0 评论 -
十、SpringCloud实用篇_Feign远程调用
一、Feign远程调用Feign [feɪn]先来看我们以前利用RestTemplate发起远程调用的代码:存在下面的问题:代码可读性差,编码体验不统一参数复杂URL,难以维护Feign是一个声明式的http客户端,官方地址:https://github.com/OpenFeign/feign其作用就是帮助我们优雅的实现http请求的发送,解决上面提到的问题。Feign is a Java to Http client binder inspired by Retrofit, JA原创 2021-12-04 22:18:00 · 349 阅读 · 0 评论 -
九、SpringCloud实用篇_Nacos集群搭建
一、集群结构图官方给出的Nacos集群图:其中包含3个nacos节点,然后一个服务负载均衡器(SLB)代理3个nacos。这里负载均衡器可以使用nginx。我们计划的集群结构:三个nacos节点的地址:节点ipportnacos1192.168.150.18845nacos2192.168.150.18846nacos3192.168.150.18847二、搭建集群搭建集群的基本步骤:搭建数据库,初始化数据库表结构下载nacos安装包原创 2021-12-02 20:47:25 · 210 阅读 · 0 评论 -
八、SpringCloud实用篇_Nacos配置共享
一、配置共享其实微服务启动时,会去nacos读取多个配置文件,例如:[spring.application.name]-[spring.profiles.active].yaml,例如:userservice-dev.yaml[spring.application.name].yaml,例如:userservice.yaml而[spring.application.name].yaml不包含环境,因此可以被多个环境共享。下面我们通过案例来测试配置共享1.1、添加一个环境共享配置我们原创 2021-12-02 20:19:59 · 1273 阅读 · 0 评论 -
七、SpringCloud实用篇_Nacos配置管理
一、Nacos配置管理nacos除了可以做注册中心,同样可以做配置管理来使用。1.1、统一配置管理当微服务部署的实例越来越多,达到数十、数百时,逐个修改微服务配置就会让人抓狂,而且很容易出错。我们需要一种统一配置管理方案,可以集中管理所有实例的配置。Nacos一方面可以将配置集中管理,另一方可以在配置变更时,及时通知微服务,实现配置的热更新。1.1.1、在nacos中添加配置文件如何在nacos中管理配置呢?然后在弹出的表单中,填写配置信息:注意:项目的核心配置,需要热更新的才是必须原创 2021-12-01 21:55:30 · 541 阅读 · 0 评论 -
六、SpringCloud实用篇_Nacos注册中心(下)
一、服务分级存储模型一个服务可以有多个实例,例如我们的user-service,可以有:192.168.184.110:8081192.168.184.110:8082192.168.184.110:8083假如这些实例分布于全国各地的不同机房,例如:192.168.184.110:8081,在上海机房192.168.184.110:8082,在上海机房192.168.184.110:8083,在杭州机房Nacos就将同一机房内的实例划分为一个集群。也就是说,user-servi原创 2021-12-01 16:36:15 · 396 阅读 · 0 评论 -
五、SpringCloud实用篇_Nacos注册中心(上)
一、Nacos注册中心国内公司一般都推崇阿里巴巴的技术,比如注册中心,SpringCloudAlibaba也推出了一个名为Nacos的注册中心。1.1、认识和安装NacosNacos是阿里巴巴的产品,现在是SpringCloud中的一个组件。相比Eureka功能更加丰富,在国内受欢迎程度较高。1.1.2、Linux下安装Nacos上传安装包上传到Linux服务器某个目录,例如:/usr/local/software目录下解压命令解压缩安装包:tar -zxvf nacos-serv原创 2021-11-25 21:53:04 · 192 阅读 · 0 评论 -
四、SpringCloud实用篇_Ribbon负载均衡
一、Ribbon负载均衡上一篇中,我们添加了@LoadBalanced,即可实现负载均衡功能,这是什么原理呢?1.1、负载均衡原理SpringCloud底层其实是利用了一个名为Ribbon的组件,来实现负载均衡功能的。那么,我们发出的请求明明是:http://userservice/user/1,怎么变成了:http://localhost:8081呢?1.2、源码跟踪为什么我们只输入了service名称就可以访问了呢?之前还要获取IP和端口。显然有人帮我们根据service名称,获取到了服原创 2021-11-21 18:27:59 · 753 阅读 · 0 评论 -
三、SpringCloud实用篇_Eureka注册中心
一、提供者与消费者在服务调用关系中,会有两个不同的角色:服务提供者:一次业务中,被其它微服务调用的服务。(提供接口给其它微服务)服务消费者:一次业务中,调用其它微服务的服务。(调用其它微服务提供的接口)但是, 服务提供者与服务消费者的角色并不是绝对的,而是相对于业务而言。如果服务A调用了服务B,而服务B又调用了服务C,服务B的角色是什么?对于A调用B的业务而言:A是服务消费者,B是服务提供者对于B调用C的业务而言:B是服务消费者,C是服务提供者因此,服务B既可以是服务提供者,也可以是服原创 2021-11-16 22:58:46 · 371 阅读 · 0 评论 -
二、SpringCloud实用篇_服务拆分与远程调用
一、服务拆分与远程调用1.1、创建父工程:cloud-demo…\cloud-demo\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://ma原创 2021-11-16 21:34:29 · 640 阅读 · 0 评论 -
一、SpringCloud实用篇_认识微服务
一、认识微服务1.1、单体架构将业务的所有功能集中在一个项目中开发,打成一个包部署。优点:架构简单部署成本低缺点:耦合度高(维护困难,升级困难)1.2、分布式架构根据业务功能对系统进行拆分,每个业务模块作为独立项目开发,称为一个服务。优点:降低服务耦合有利于服务升级拓展缺点:服务调用关系错综复杂分布式架构虽然降低了服务耦合,但是服务拆分时也有很多问题需要思考:服务拆分的粒度如何界定?服务集群地址如何维护?服务之间如何实现远程调用?服务健康状态如何感知?原创 2021-11-14 20:39:49 · 113 阅读 · 0 评论