国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Springboot3.X整合Dubbo3.XSpringCloudAlibaba微服務 2022.0 + Springboot3.X 集成 Dubbo實現(xiàn)對外調(diào)用http內(nèi)部調(diào)用RPC

這篇具有很好參考價值的文章主要介紹了Springboot3.X整合Dubbo3.XSpringCloudAlibaba微服務 2022.0 + Springboot3.X 集成 Dubbo實現(xiàn)對外調(diào)用http內(nèi)部調(diào)用RPC。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

近期自己新開了一套SpringCloud Alibaba微服務項目,接口使用了對外HTTP,內(nèi)部RPC的設計,具體點說就是外部用戶或客戶端通過Nginx訪問到Gateway網(wǎng)關再分發(fā)到各個服務,內(nèi)部各個服務之間統(tǒng)一使用Dubbo RPC進行通信。下面是Springboot3.x集成Dubbo的分享:

1. 需要的關鍵依賴

          <dependency>
                <groupId>org.apache.dubbo</groupId>
                <artifactId>dubbo-spring-boot-starter</artifactId>
                <exclusions>
                    <exclusion>
                        <groupId>log4j</groupId>
                        <artifactId>log4j</artifactId>
                    </exclusion>
                </exclusions>
                <version>3.1.6</version>
            </dependency>
            <!--微服務組件 start-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>2022.0.1</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2022.0.0.0-RC1</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

2. 啟動程序入口注解

2.1. 生產(chǎn)者

@EnableDubbo
@EnableAsync
@EnableFeignClients
@EnableDiscoveryClient
@SpringBootApplication
public class UserApplication {
    public static void main(String[] args) {
        SpringApplication.run(UserApplication.class, args);
    }

}

2.2 消費者

@EnableDubbo
@EnableAsync
@EnableFeignClients
@EnableDiscoveryClient
@SpringBootApplication
public class AdminApplication {
    public static void main(String[] args) {
        SpringApplication.run(AdminApplication.class, args);
    }

}

2.3 dubbo配置

dubbo:
  application:
    id: ${spring.application.name}
    name: ${dubbo.application.id}
  registry:
    address: nacos://127.0.0.1:8848?username=nacos&password=houcloud
    group: dubbo
  metadata-report:
    address: nacos://127.0.0.1:8848?username=nacos&password=houcloud
  protocol:
    name: dubbo
    port: -1
  config-center:
    timeout: 8000
  provider:
    threads: 20000
    threadpool: fixed
    loadbalance: roundrobin
    timeout: 5000
    executes:
    filter: customExceptionFilter,-exception
  scan:
    base-packages: com.houcloud.application.admin.rpc
  consumer:
    check: false

3. Dubbo 公共 interface

public interface RpcUserService {
	// 刪除用戶令牌
	Boolean removeUserToken(Long userId)
}

4. 提供者UserApplication實現(xiàn)Dubbo 公共 interface

@DubboService(interfaceClass = RpcUserService.class)
public class RpcUserServiceImpl implements RpcUserService {
	
	@Resource
	private UserRedisTokenStore userRedisTokenStore;

	@Override
	public Boolean removeUserToken(Long userId){
		return userRedisTokenStore.removeByUserId(userId);
	}
}

5. 消費者AdminApplication調(diào)用Dubbo 公共 interface


	@DubboReference
    private RpcUserService rpcUserService;	

    public Boolean lockUser(Long userId) {
       boolean update = userService.lambdaUpdate().eq(User::getId, userId).set(User::getLocked, true).update();
       if(!update){
       		return false
       }
       return rpcUserService.removeUserToken(userId);
    }

啟動報錯

在集成Dubbo的過程中出現(xiàn)了java.lang.NoClassDefFoundError: org/springframework/beans/factory/config/InstantiationAwareBeanPostProcessorAdapter異常
第一反應是以為缺少jar包,補了好幾個相關dubbo和nacos的包也無濟于事

91 [main] ERROR [org.springframework.boot.SpringApplication] SpringApplication.java:820 - Application run failed
java.lang.NoClassDefFoundError: org/springframework/beans/factory/config/InstantiationAwareBeanPostProcessorAdapter
	at java.base/java.lang.ClassLoader.defineClass1(Native Method)
	at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1012)
	at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
	at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
	at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)

解決問題

由于是新開項目,用的都是最新的版本,統(tǒng)一使用了2022版本的Springcloud,原因是因為最新Dubbo的3.1.x沒有支持到Springboot3.x,所有需要用到 3.2.0-beta版本

 			<dependency>
                <groupId>org.apache.dubbo</groupId>
                <artifactId>dubbo-spring-boot-starter</artifactId>
                <exclusions>
                    <exclusion>
                        <groupId>log4j</groupId>
                        <artifactId>log4j</artifactId>
                    </exclusion>
                </exclusions>
                <version>3.2.0-beta.5</version>
            </dependency>

創(chuàng)作聲明:本文由個人@簡明說原創(chuàng),不允許轉(zhuǎn)載,更多微服務分享可關注bilibili @簡明說文章來源地址http://www.zghlxwxcb.cn/news/detail-608019.html

到了這里,關于Springboot3.X整合Dubbo3.XSpringCloudAlibaba微服務 2022.0 + Springboot3.X 集成 Dubbo實現(xiàn)對外調(diào)用http內(nèi)部調(diào)用RPC的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 微服務學習 | Springboot整合Dubbo+Nacos實現(xiàn)RPC調(diào)用

    微服務學習 | Springboot整合Dubbo+Nacos實現(xiàn)RPC調(diào)用

    ??? 個人主頁 :鼠鼠我捏,要死了捏的主頁? ??? 系列專欄 :Golang全棧-專欄 ??? 個人學習筆記,若有缺誤,歡迎評論區(qū)指正 ? 前些天發(fā)現(xiàn)了一個巨牛的人工智能學習網(wǎng)站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉(zhuǎn)到網(wǎng)站AI學習網(wǎng)站。 目錄 前言 快速上手

    2024年02月19日
    瀏覽(22)
  • Dubbo3使用Zookeeper作為注冊中心的方案討論!詳解DubboAdmin與PrettyZoo來監(jiān)控服務的優(yōu)劣!

    Dubbo3使用Zookeeper作為注冊中心的方案討論!詳解DubboAdmin與PrettyZoo來監(jiān)控服務的優(yōu)劣!

    文章目錄 一:Dubbo注冊中心的基本使用 二:Zookeeper注冊中心的使用 1:依賴引入 2:實際開發(fā) 三:Zookeeper作為注冊中心的使用展示 1:啟動注冊Zookeeper服務 2:引入注冊中心 (一):Provider (二):Consumer 3:啟動服務結(jié)果展示 4:監(jiān)控服務的兩種手段 ? ? ? ? 我們使用的和分析講解

    2024年02月05日
    瀏覽(21)
  • SpringBoot整合Dubbo和Zookeeper分布式服務框架使用的入門項目實例

    SpringBoot整合Dubbo和Zookeeper分布式服務框架使用的入門項目實例

    Dubbo是一個 分布式服務框架 ,致力于提供高性能和透明化的RPC遠程服務調(diào)用方案,以及SOA服務治理方案。簡單的說,dubbo就是個服務框架,如果沒有分布式的需求,其實是不需要用的,只有在分布式的時候,才有dubbo這樣的分布式服務框架的需求。其本質(zhì)上是個遠程服務調(diào)用

    2024年01月21日
    瀏覽(57)
  • SpringBoot3整合MyBatisPlus

    隨著 SpringBoot3 的發(fā)布, mybatisplus 也在不斷更新以適配 spirngboot3 。目前仍然處于維護升級階段,最初 2023.08 時,官方宣布對 SpringBoot3 的原生支持,詳情看這里。 但是對于較新版本的 SpringBoot3 ,仍然有很多 bug ,甚至無法啟動,摸爬滾打又游歷社區(qū)后,實踐后得到一套成功的

    2024年01月24日
    瀏覽(22)
  • SpringBoot3整合MinIO

    配套視頻:SpringBoot3整合MinIO MinIO項目應用可參考視頻 【SpringBoot3+Vue3+Uniapp小程序項目實戰(zhàn)】 MinIO 是一個基于 Apache License v2.0 開源協(xié)議的對象存儲服務。它兼容亞馬遜 S3 云存儲服務接口,非常適合于存儲大容量非結(jié)構化的數(shù)據(jù),例如圖片、視頻、日志文件、備份數(shù)據(jù)和容器

    2024年02月21日
    瀏覽(22)
  • Dubbo3.0系列(5)- 新版dubbo-admin安裝使用

    Dubbo3.0系列(5)- 新版dubbo-admin安裝使用

    在很早之前,dubbo管理控制臺是這樣子的: 隨著dubbo項目的重啟,dubbo-admin也進行了重新規(guī)劃,使用spring boot+ VUE進行了重寫,目前最新版本為0.3.0。 GitHub 在上面的GitHub地址下載安裝包。 解壓,進入apache-dubbo-admin-0.3.0-bin-releaseinconfig目錄,編輯application.properties。注釋掉zookeepe

    2024年02月07日
    瀏覽(18)
  • 干翻Dubbo系列第四篇:Dubbo3第一個應用程序細節(jié)補充

    干翻Dubbo系列第四篇:Dubbo3第一個應用程序細節(jié)補充

    1:協(xié)議端口 補充說明1: 顯示指定Dubbo服務啟動的端口號:一個服務器上起多個Provider都這樣顯示的指定port端口號的話,會造成端口號沖突。 解決方式:我們可以port設置為-1,服務啟動時默認采用20880(dubbo協(xié)議默認端口),此端口被占用默認會+1,一直到加端口不占用為止。

    2024年02月15日
    瀏覽(25)
  • Springboot3 整合 Mybatis3

    mybatis 的必要依賴 注意:使用 springboot3 的話要使用 mybatis3 的版本以及 java17及以上的版本 注意: 如果接口上面有 注解 @Mapper 的話,就可以不用在使用掃描包注解 @MapperScan 了(當然兩個可以同時存在) 注意: 最好要加上 @Mapper注解,防止忘記開啟掃描 注意:頭文件這里的網(wǎng)

    2024年01月25日
    瀏覽(22)
  • SpringBoot3 整合Prometheus + Grafana

    SpringBoot3 整合Prometheus + Grafana

    通過Prometheus + Grafana對線上應用進行觀測、監(jiān)控、預警… 健康狀況【組件狀態(tài)、存活狀態(tài)】Health 運行指標【cpu、內(nèi)存、垃圾回收、吞吐量、響應成功率…】Metrics … 1. 基本使用 1. 場景引入 2. 暴露指標 3. 訪問數(shù)據(jù) 訪問 http://localhost:8080/actuator;展示出所有可以用的監(jiān)控端點

    2024年02月14日
    瀏覽(23)
  • Java --- springboot3整合SSM

    目錄 一、整合SSM場景 二、自動配置原理? ?引入pom依賴 數(shù)據(jù)庫表: 配置數(shù)據(jù)源 配置mybatis相關配置 實體類: mapper接口: mapper接口映射文件: service實現(xiàn)類: controller層: 在springboot啟動類添加注解: jdbc場景的自動配置 :? ?1、 mybatis-spring-boot-starter 導入 spring-boot-starter-jd

    2024年02月08日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包