欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于SpringCloud的微服務(wù)結(jié)構(gòu)及微服務(wù)遠(yuǎn)程調(diào)用

 更新時(shí)間:2023年05月17日 11:23:06   作者:夏志121  
Spring Cloud 是一套完整的微服務(wù)解決方案,基于 Spring Boot 框架,準(zhǔn)確的說(shuō),它不是一個(gè)框架,而是一個(gè)大的容器,它將市面上較好的微服務(wù)框架集成進(jìn)來(lái),從而簡(jiǎn)化了開(kāi)發(fā)者的代碼量,需要的朋友可以參考下

一、微服務(wù)結(jié)構(gòu)

微服務(wù)這種方案需要技術(shù)框架來(lái)落地,全球的互聯(lián)網(wǎng)公司都在積極嘗試自己的微服務(wù)落地技術(shù)。在國(guó)內(nèi)最知名的就是SpringCloud和阿里巴巴的Dubbo。

微服務(wù)技術(shù)對(duì)比:

DubboSpringCloudSpringCloudAlibaba
注冊(cè)中心zookeeper、RedisEureka、ConsulNacos、Eureka
服務(wù)遠(yuǎn)程調(diào)用Dubbo協(xié)議Feign (http協(xié)議)Dubbo、Feign
配置中心無(wú)SpringCloudfigSpringCloudfig、Nacos
服務(wù)網(wǎng)關(guān)無(wú)SpringCloudGateway、ZuulSpringCloudGateway、Zuul
服務(wù)監(jiān)控保護(hù)dubbo-admin、功能弱HystixSentinel

二、微服務(wù)遠(yuǎn)程調(diào)用

根據(jù)訂單id查詢訂單功能:

需求:根據(jù)訂單id查詢訂單的同時(shí),把訂單所屬的用戶信息一起返回

實(shí)現(xiàn)步驟:

1、注冊(cè)RestTemplate

在order-service的OrderApplication中注冊(cè)RestTemplate

@MapperScan("cn.itcast.order.mapper")
@SpringBootApplication
public class OrderApplication {
    public static void main(String[] args) {
        SpringApplication.run(OrderApplication.class, args);
    }
    /**
     * 創(chuàng)建RestTemplate并注入Spring容器
     * @return
     */
    @Bean
    @LoadBalanced
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }
}

2、服務(wù)遠(yuǎn)程調(diào)用RestTemplate

修改order-service中的OrderService的queryOrderById方法:

@Service
public class OrderService {
    @Autowired
    private OrderMapper orderMapper;
    @Autowired
    private RestTemplate restTemplate;
    public Order queryOrderById(Long orderId) {
        // 1.查詢訂單
        Order order = orderMapper.findById(orderId);
        //2、利用RestTemplate發(fā)送http,查詢用戶
        //2.1 url路徑
        String url = "http://localhost:8081/user/"+order.getUserId();
        //2。1 發(fā)送http請(qǐng)求,實(shí)現(xiàn)遠(yuǎn)程調(diào)用
        User user = restTemplate.getForObject(url,User.class);
        //3.封裝user到Order
        order.setUser(user);
        // 4.返回
        return order;
    }
}

微服務(wù)調(diào)用方式:

基于RestTemplate發(fā)起的http請(qǐng)求實(shí)現(xiàn)遠(yuǎn)程調(diào)用

http請(qǐng)求做遠(yuǎn)程調(diào)用時(shí)與語(yǔ)言無(wú)關(guān)的調(diào)用,只要知道對(duì)方的ip、端口、接口路徑、請(qǐng)求參數(shù)即可

提供者及消費(fèi)者:

服務(wù)提供者:一次業(yè)務(wù)中,被其他微服務(wù)調(diào)用的服務(wù)(提供接口給其他微服務(wù))

服務(wù)消費(fèi)者:一次業(yè)務(wù)中,調(diào)用其他微服務(wù)的服務(wù) (調(diào)用其他的微服務(wù)提供的接口)

服務(wù)調(diào)用關(guān)系:

服務(wù)提供者:暴露接口給其他微服務(wù)調(diào)用

服務(wù)消費(fèi)者:調(diào)用其他微服務(wù)提供的接口

提供者與消費(fèi)者角色是相對(duì)

一個(gè)服務(wù)可以同時(shí)是服務(wù)提供者和服務(wù)消費(fèi)者

到此這篇關(guān)于關(guān)于SpringCloud的微服務(wù)結(jié)構(gòu)及微服務(wù)遠(yuǎn)程調(diào)用的文章就介紹到這了,更多相關(guān)SpringCloud 微服務(wù)結(jié)構(gòu)及調(diào)用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • springboot 在xml里讀取yml的配置信息的示例代碼

    springboot 在xml里讀取yml的配置信息的示例代碼

    這篇文章主要介紹了springboot 在xml里讀取yml的配置信息的示例代碼,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • springboot中使用雪花算法生成雪花ID

    springboot中使用雪花算法生成雪花ID

    本文主要介紹了springboot中使用雪花算法生成雪花ID,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Spring Boot開(kāi)啟遠(yuǎn)程調(diào)試的方法

    Spring Boot開(kāi)啟遠(yuǎn)程調(diào)試的方法

    這篇文章主要介紹了Spring Boot開(kāi)啟遠(yuǎn)程調(diào)試的方法,幫助大家更好的理解和使用Spring Boot框架,感興趣的朋友可以了解下
    2020-10-10
  • Springboot集成Elasticsearch的步驟與相關(guān)功能

    Springboot集成Elasticsearch的步驟與相關(guān)功能

    ElasticSearch是開(kāi)源搜索平臺(tái)領(lǐng)域的一個(gè)新成員,?ElasticSearch是一個(gè)基于Lucene構(gòu)建的開(kāi)源,分布式,RESTful搜索引擎,這篇文章主要給大家介紹了關(guān)于Springboot集成Elasticsearch的相關(guān)資料,需要的朋友可以參考下
    2021-12-12
  • IDEA2020 1.1中Plugins加載不出來(lái)的問(wèn)題及解決方法

    IDEA2020 1.1中Plugins加載不出來(lái)的問(wèn)題及解決方法

    這篇文章主要介紹了IDEA2020 1.1中Plugins加載不出來(lái)的問(wèn)題,本文還給大家提到了IDEA 2020.1.1 找不到程序包和符號(hào)的問(wèn)題,感興趣的朋友跟隨小編一起看看吧
    2020-06-06
  • 簡(jiǎn)單了解Spring中常用工具類

    簡(jiǎn)單了解Spring中常用工具類

    這篇文章主要介紹了簡(jiǎn)單了解Spring中常用工具類,非常全面,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-10-10
  • Java?Stream流中的filter()使用方法舉例詳解

    Java?Stream流中的filter()使用方法舉例詳解

    filter()是Java?Stream?API中的中間操作,用于根據(jù)給定的Predicate條件篩選流中的元素,它通過(guò)接收一個(gè)返回boolean值的函數(shù)(斷言)作為參數(shù),篩選出滿足條件的元素并收集到新的流中,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-11-11
  • springboot使用小工具之Lombok、devtools、Spring Initailizr詳解

    springboot使用小工具之Lombok、devtools、Spring Initailizr詳解

    這篇文章主要介紹了springboot使用小工具之Lombok、devtools、Spring Initailizr詳解,Lombok可以代替手寫(xiě)get、set、構(gòu)造方法等,需要idea裝插件lombok,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-10-10
  • Java語(yǔ)言獲取TCP流的實(shí)現(xiàn)步驟

    Java語(yǔ)言獲取TCP流的實(shí)現(xiàn)步驟

    使用Wireshark分析網(wǎng)絡(luò)包時(shí),一個(gè)很常用的功能就是選中一個(gè)TCP報(bào)文,然后查看這個(gè)TCP報(bào)文的TCP流,從而可以進(jìn)一步分析建連是否慢了,斷連是否正常等情況,那么本文就TCP流的概念以及在Java中如何獲取,做一個(gè)簡(jiǎn)單的學(xué)習(xí),需要的朋友可以參考下
    2023-11-11
  • 詳解Java Project項(xiàng)目打包成jar,并生成exe文件

    詳解Java Project項(xiàng)目打包成jar,并生成exe文件

    本篇文章主要介紹了Java Project項(xiàng)目打包成jar,并生成exe文件,非常具有實(shí)用價(jià)值,有興趣的可以了解一下。
    2017-01-01

最新評(píng)論