欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

学习笔记3—分布式组件

程序员文章站 2022-06-21 17:41:37
...

一、SpringCloud的几大痛点:
SpringCloud部分组件停止维护和更新,给开发带来不便;
SpringCloud部分环境搭建复杂,没有完善的可视化界面,我们需要大量的二次开发和定制
SpringCloud配置复杂,难以上手,部分配置差别难以区分和合理应用
SpringCloud Alibaba的优势: 
阿里使用过的组件经历了考验,性能强悍,设计合理,现在开源出来大家用,成套的产品搭配完善的可视化界面给开发运维带来极大的便利,搭建简单,学习曲线低。
结合SpringCloud Alibaba我们最终的技术搭配方案:
SpringCloud Alibaba - Nacos:注册中心(服务发现/注册)
SpringCloud Alibaba - Nacos:配置中心(动态配置管理)
SpringCloud- Ribbon:负载均衡
SpringCloud- Feign:声明式hTTP客户端(调用远程服务)
SpringCloud Alibaba- Sentinel:服务容错(限流、降级、熔断)
SpringCloud- Gateway: API 网关(webflux 编程模式)
SpringCloud- Sleuth:调用链监控
SpringCloud Alibaba-Seata:原Fescar, 即分布式事务解决方案。

二、如何使用nacos注册中心:

官方文档:https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md

引入依赖:

<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2.1.0.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

注册中心:

 <!--        服务注册/发现-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

nacos文档:https://github.com/alibaba/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/readme-zh.md

  1. 首先,修改 pom.xml 文件,引入 Nacos Config Starter。放在common中

     <dependency>
         <groupId>com.alibaba.cloud</groupId>
         <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
     </dependency>
    
  2. 在配置文件中配置,往下看

先把Nacos Server 启动 并添加配置

下载nacos server   1.1.3

注意!启动这里有坑,如果启动startup闪退的话,检查jdk环境变量是否配置好,然后检查用户变量里是否有JAVA_HOME

学习笔记3—分布式组件

访问:127.0.0.1:8848/nacos     

登录账号密码默认:nacos

学习笔记3—分布式组件

接上边:在服务中心启动类上添加注解    @EnableDiscoveryClient

 配置文件:

 cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
  application:
    name: xuanyuan-member

然后在服务列表就可以看到了:学习笔记3—分布式组件

 

三、如何使用OpenFeign测试 服务之间的远程调用:

Feign声明式远程调用
1、简介
Feign是一个声明式的HTTP客户端,它的目的就是让远程调用更加简单。Feign提供了HTTP请求的模板,通过编写简单的接口和插入注解,就可以定义好HTTP请求的参数、格式、地址等信息。
Feign整合了Ribbon (负载均衡)和Hystrix(服务熔断),可以让我们不再需要显式地使用这两个组件。
SpringCloudFeign在NetflixFeign的基础上扩展了对SpringMVC注解的支持,在其实现下,我们只需创建一一个接口并用注解的方式来配置它,即可完成对服务提供方的接口绑定。简化了SpringCloudRibbon自行封装服务调用客户端的开发量。

 

 

 

 

 

相关标签: 分布式架构