亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SpringCloudAlibaba分布式組件詳解

 更新時間:2021年08月26日 11:21:59   作者:東北賣參哪些年  
這篇文章主要介紹了簡單了解Spring Cloud Alibaba分布式組件相關知識,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

分布式組件-SpringCloud Alibaba

image-20210824212747220

簡介

image-20210824212950389

SpringCloudAlibaba的優(yōu)勢:
阿里使用過的組件經(jīng)歷了考驗,性能強悍,設計合理,現(xiàn)在開源出來大家用成套的產(chǎn)品搭配完善的可視化界面給開發(fā)運維帶來了極大的便利,搭建簡單,學習曲線低。
SpringCloud Alibaba-Nacos:注冊中心(服務發(fā)現(xiàn)/注冊)
SpringCloud Alibaba-Nacos:配置中心(動態(tài)配置管理)
SpringCloud-Ribbon:負載均衡
SpringCloud-Feign:聲明式HTTP客戶端(調(diào)用遠程服務)
SpringCloud Alibaba-Sentinel:服務容錯(限流、降級、熔斷)
SpringCloud-Gateway:API網(wǎng)關
SpringCloud-Sleuth:調(diào)用鏈監(jiān)控
SpringCloud Alibaba-Seata:原 Fescar,即分布式事務

gulimall-common的pom.xml

<dependencyManagement>
    <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>

Nacos注冊中心

第一步:gulimall-common的pom.xml加入依賴
<!--        服務注冊/發(fā)現(xiàn)-->
<dependency>
  <groupId>com.alibaba.cloud</groupId>
  <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
第二步:下載nacos
地址:github.com/alibaba/nacos/releases
版本:1.1.3
第三步:修改你要將那個服務注冊上去的application.yml
spring:
  application:
    name: gulimall-coupon
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848        
第四步:在啟動類上標注注解
@EnableDiscoveryClient
第五步:訪問nacos
路徑:127.0.0.1:8848/nacos/#/login

image-20210824220607484

OpenFeign遠程調(diào)用

需求:gulimall-member會員服務調(diào)用gulimall-coupon優(yōu)惠券服務

1.在gulimall-common pom.xml文件加入
<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
2.//gulimall-coupon
@RestController
@RequestMapping("coupon/coupon")
public class CouponController {
    @RequestMapping("/member/list")
    public R membercoupons(){
        CouponEntity couponEntity = new CouponEntity();
        couponEntity.setCouponName("滿100減10");
        return R.ok().put("coupon",Arrays.asList(couponEntity));
    }
}
3.//gulimall-member
@FeignClient("gulimall-coupon")
public interface CouponFeignService {
    @RequestMapping("/coupon/coupon/member/list")
    public R membercoupons();
}
4.//開啟遠程調(diào)用功能:EnableFeignClients
@EnableRedisHttpSession
@EnableFeignClients(basePackages = "com.xunqi.gulimall.member.feign")
@EnableDiscoveryClient
@SpringBootApplication
public class GulimallMemberApplication {
    public static void main(String[] args) {
        SpringApplication.run(GulimallMemberApplication.class, args);
    }
}
5.調(diào)用
@RestController
@RequestMapping("member/member")
public class MemberController {
    @Autowired
    private MemberService memberService;
    @Autowired
    CouponFeignService couponFeignService;
    @RequestMapping("/coupons")
    public R test(){
        MemberEntity memberEntity = new MemberEntity();
        memberEntity.setNickname("張三");
        R  membercoupons = couponFeignService.membercoupons();
        return R.ok().put("member",memberEntity).put("coupons",membercoupons.get("coupons"));
    }
}

image-20210824222759686

配置中心-簡單實例

1.在gulimall-common pom.xml文件加入
<!--        配置中心來做配置管理-->
<dependency>
  <groupId>com.alibaba.cloud</groupId>
  <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
2.在gulimall-coupon創(chuàng)建bootstrap.yml
spring:
  application:
    name: gulimall-coupon
  cloud:
    nacos:
      config:
        server-addr: localhost:8848

3.在application.properties

//此方法有了注冊中心后,不再使用
application.properties
coupon.user.name=zhangsan
coupon.user.age=18

image-20210824224404904

image-20210824224655230

image-20210824224805121

image-20210824224934241

配置中心-命名空間

了解幾個概念
1.命名空間:配置隔離;默認是public
2.配置集:所有配置的集合
3.配置集id:類似于文件名
4.配置分組

image-20210824225506462

剛剛,我們創(chuàng)建的gulimall-coupon.properties是在public的命名空間,里面的內(nèi)容是name=zhangsan,age=24

現(xiàn)在,我們在prop下也創(chuàng)建一個gulimall-coupon.properties

image-20210824225706715

image-20210824230011812

image-20210824230053911

以上,演示完了命名空間,里面命名空間做環(huán)境的隔離;其實是通過dev、prop、public(開發(fā)、生成、默認)等角度來命名
現(xiàn)在,我們要給每一個微服務創(chuàng)建自己的命名空間。

image-20210824230555714

配置分組的概念

image-20210824230907837

image-20210824230950909

最終版使用:每一個微服務創(chuàng)建自己的服務命名空間;使用配置分組來確定是dev、prop、test。

image-20210824231237000

image-20210824231342569

配置中心-加載多配置集

隨著我們服務越來越多,一個yml文件里面需要配置mysql、redis、server.port等等的配置?,F(xiàn)在,我們要將他們抽取出來。

image-20210824231604343

拆分后

image-20210824231721588

image-20210824233206200

Gateway網(wǎng)關核心

Gateway創(chuàng)建測試網(wǎng)關

1.創(chuàng)建網(wǎng)關服務gulimall-gateway

2.application.properties
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
spring.application.name=gulimall-gateway
server.port=88
3.bootstrap.yml
spring:
  application:
    name: gulimall-coupon
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848
      config:
        server-addr: localhost:8848
#        file-extension: yml
        namespace: ea65d118-135f-4928-bbc6-c8ec85b3fd78
4.application.yml
spring:
  cloud:
    sentinel:
      transport:
        #配置sentinel dashboard地址
        dashboard: localhost:8080
    gateway:
      routes:
#        - id: test_route
#          uri: https://www.baidu.com
#          predicates:
#            - Query=uri,baidu
#
#        - id: qq_route
#          uri: https://www.qq.com
#          predicates:
#            - Query=uri,qq

總結

本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關注腳本之家的更多內(nèi)容!

相關文章

  • 簡述mybatis大于小于的轉義

    簡述mybatis大于小于的轉義

    這篇文章主要介紹了mybatis大于小于的轉義以及xml中常用轉義字符,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-09-09
  • 用java實現(xiàn)斗地主發(fā)牌過程

    用java實現(xiàn)斗地主發(fā)牌過程

    這篇文章主要為大家詳細介紹了用java實現(xiàn)斗地主發(fā)牌過程,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • Java中synchronized的四種用法詳解

    Java中synchronized的四種用法詳解

    這篇文章主要介紹了Java中synchronized的四種用法詳解,當我們處理多線程處理同步問題的時候就會用到synchronized這個關鍵字,下面介紹下synchronized的四種用法,需要的朋友可以參考下
    2024-01-01
  • Java中的@Conditional條件注解詳細解析

    Java中的@Conditional條件注解詳細解析

    這篇文章主要介紹了Java中的@Conditional條件注解詳細解析,@Conditional是Spring4新提供的注解,它的作用是按照一定的條件進行判斷,滿足條件給容器注冊bean,需要的朋友可以參考下
    2023-11-11
  • 淺談Mybatis #和$區(qū)別以及原理

    淺談Mybatis #和$區(qū)別以及原理

    這篇文章主要介紹了淺談Mybatis #和$區(qū)別以及原理,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • MyBatis中執(zhí)行相關SQL語句的方法

    MyBatis中執(zhí)行相關SQL語句的方法

    本文主要介紹了MyBatis中執(zhí)行相關SQL語句的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-08-08
  • Java的分支結構與循環(huán)你知道多少

    Java的分支結構與循環(huán)你知道多少

    這篇文章主要為大家詳細介紹了Java的分支結構與循環(huán),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • Spring容器-BeanFactory和ApplicationContext使用詳解

    Spring容器-BeanFactory和ApplicationContext使用詳解

    這篇文章主要為大家介紹了Spring容器-BeanFactory和ApplicationContext的使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • Java反轉字符串和相關字符編碼的問題解決

    Java反轉字符串和相關字符編碼的問題解決

    反轉字符串一直被當作是簡單問題,大家的思想主要就是利用遍歷,首尾交換字符實現(xiàn)字符串的反轉。例如下面的代碼,就可以簡單實現(xiàn)反轉。
    2013-05-05
  • Java精品項目瑞吉外賣之員工新增篇

    Java精品項目瑞吉外賣之員工新增篇

    這篇文章主要為大家詳細介紹了java精品項目-瑞吉外賣訂餐系統(tǒng),此項目過大,分為多章獨立講解,本篇內(nèi)容為新增員工功能的實現(xiàn),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05

最新評論