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

Spring Cloud--從零開始搭建微服務(wù)基礎(chǔ)環(huán)境【三】

這篇具有很好參考價值的文章主要介紹了Spring Cloud--從零開始搭建微服務(wù)基礎(chǔ)環(huán)境【三】。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

??前言
本篇博文是關(guān)于Spring Cloud–從零開始搭建微服務(wù)基礎(chǔ)環(huán)境【三】,希望你能夠喜歡

??個人主頁:晨犀主頁
??個人簡介:大家好,我是晨犀,希望我的文章可以幫助到大家,您的滿意是我的動力????

??歡迎大家:這里是CSDN,我總結(jié)知識的地方,歡迎來到我的博客,感謝大家的觀看??
如果文章有什么需要改進的地方還請大佬不吝賜教 先在此感謝啦??

微服務(wù)基礎(chǔ)環(huán)境搭建

創(chuàng)建使用會員微服務(wù)模塊-service consumer

需求說明/圖解

示意圖

Spring Cloud--從零開始搭建微服務(wù)基礎(chǔ)環(huán)境【三】,Spring Cloud,spring cloud,微服務(wù),spring

-瀏覽器: http://localhost/member/consumer/get/1

Spring Cloud--從零開始搭建微服務(wù)基礎(chǔ)環(huán)境【三】,Spring Cloud,spring cloud,微服務(wù),spring

測試添加會員: http://localhost/member/consumer/save

Spring Cloud--從零開始搭建微服務(wù)基礎(chǔ)環(huán)境【三】,Spring Cloud,spring cloud,微服務(wù),spring

Spring Cloud--從零開始搭建微服務(wù)基礎(chǔ)環(huán)境【三】,Spring Cloud,spring cloud,微服務(wù),spring

思路分析/圖解

1、創(chuàng)建Moduel(member-service-consumer-80) & 完成配置
2、創(chuàng)建controller
3、完成測試

實現(xiàn)步驟

創(chuàng)建Moduel & 完成配置
創(chuàng)建member-service-consumer-80 微服務(wù)模塊[使用會員服務(wù)]

由于創(chuàng)建模塊步驟一致,這里不做描述。

創(chuàng)建模塊完成后,父工程的pom.xml-會做相應(yīng)變化,管理member-service-consumer-80 微服務(wù)子模塊

Spring Cloud--從零開始搭建微服務(wù)基礎(chǔ)環(huán)境【三】,Spring Cloud,spring cloud,微服務(wù),spring

修改member-service-consumer-80 的pom.xml , 加入相關(guān)依賴
<?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://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>e-commerce-center</artifactId>
        <groupId>com.my.springcloud</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>member-service-consumer-80</artifactId>


    <!--引入相關(guān)的依賴: 我們引入了當(dāng)前需要的依賴,后面如果有其它需要,再靈活調(diào)整-->
    <dependencies>
        <!--引入sleuth + zipkin 依賴 說明 1. 使用的是版本仲裁 2.starter-zipkin包含了sleuth  -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zipkin</artifactId>
        </dependency>
        <!--引入eureka client 場景啟動器starter-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>

        <!--引入web-starter 說明我們使用版本仲裁(從父項目繼承了版本)
        -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>


        <!--說明:starter-actuator 是springboot程序的監(jiān)控系統(tǒng), 可以實現(xiàn)系統(tǒng)的健康檢測
        可以通過http://localhost:10000/actuator 看到相關(guān)的連接,和信息
        -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>


        <!--lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

        <!--引入e_commerce_center-common-api-->
        <dependency>
            <groupId>com.my.springcloud</groupId>
            <artifactId>e_commerce_center-common-api</artifactId>
            <version>${project.version}</version>
        </dependency>

    </dependencies>

</project>
創(chuàng)建resources/application.yml
server:
  port: 80
創(chuàng)建主啟動類com/my/springcloud/MemberConsumerApplication.java
@SpringBootApplication
public class MemberConsumerApplication {
    public static void main(String[] args) {
        SpringApplication.run(MemberConsumerApplication.class,args);
    }
}
業(yè)務(wù)實現(xiàn)
創(chuàng)建entity
@AllArgsConstructor
@NoArgsConstructor
@Data
//Serializable 加上,后面可能使用
public class Member implements Serializable {
    private Long id;
    private String name;
    private String pwd;
    private String mobile;
    private String email;
    private Integer gender;
}

創(chuàng)建com/my/springcloud/entity/Result.java

/**
* 1. 用于返回結(jié)果, 利于json 格式
* 2. 這個工具類, 在網(wǎng)上也可找到
*/
public class Result<T> {
    private String code;
    private String msg;
    private T data;
    public String getCode() {
    	return code;
    }
    public void setCode(String code) {
    this.code = code;
    }
    public String getMsg() {
    	return msg;
    }
    public void setMsg(String msg) {
    	this.msg = msg;
    }
    public T getData() {
    	return data;
    }
    public void setData(T data) {
    	this.data = data;
    }
    public Result() {
    }
    public Result(T data) {
    	this.data = data;
    }
    public static Result success() {
        Result result = new Result<>();
        result.setCode("200");
        result.setMsg("success");
        return result;
    }
    public static <T> Result<T> success(T data) {
        Result<T> result = new Result<>(data);
        result.setCode("200");
        result.setMsg("success");
        return result;
    }
    public static <T> Result<T> success(String msg, T data) {
        Result<T> result = new Result<>(data);
        result.setCode("200");
        result.setMsg(msg);
        return result;
    }
    public static Result error(String code, String msg) {
        Result result = new Result();
        result.setCode(code);
        result.setMsg(msg);
        return result;
    }
    public static <T> Result<T> error(String code, String msg, T data) {
        Result<T> result = new Result<>(data);
        result.setCode(code);
        result.setMsg(msg);
        return result;
    }
}
注入RestTemplate
基本介紹

1、RestTemplate 是Spring 提供的用于訪問Rest 服務(wù)的模板類。

2、RestTemplate 提供了多種便捷訪問遠程Http 服務(wù)的方法。

3、說明:小伙伴可以這樣理解, 通過RestTemplate, 我們可以發(fā)出http 請求(支持Restful 風(fēng)格), 去調(diào)用Controller 提供的API 接口, 就像我們使用瀏覽器發(fā)出http 請求,調(diào)用該API 接口一樣。

4、使用簡單便捷。

官網(wǎng)及使用

官網(wǎng)地址:https://docs.spring.io/spring-framework/docs/5.2.2.RELEASE/javadoc-api/org/springframework/web/client/RestTemplate.html

Spring Cloud--從零開始搭建微服務(wù)基礎(chǔ)環(huán)境【三】,Spring Cloud,spring cloud,微服務(wù),spring

創(chuàng)建配置類: com/my/springcloud/config/CustomizationBean.java

@Configuration
public class CustomizationBean {

    //說明: 配置注入RestTemplate bean/對象
    //這里的@LoadBalanced 就是賦予 RestTemplate 負載均衡的能力
    //默認是使用輪詢算法來訪問遠程調(diào)用接口/地址
    @Bean
    @LoadBalanced
    public RestTemplate getRestTemplate() {
        return new RestTemplate();
    }
}
Controller

創(chuàng)建:com/my/springcloud/controller/MemberConsumerController.java

@RestController
@Slf4j
public class MemberConsumerController {

    //定義member_service_provider_url 這是一個基礎(chǔ)url地址
    //使用shift+ctrl+u 進行字母大小寫的切換
    /**
     * 說明:
     * 1. MEMBER-SERVICE-PROVIDER 就是服務(wù)提供方[集群], 注冊到Eureka Server 的名稱
     * 2. 也就是服務(wù)提供方[集群]對外暴露的名稱為 MEMBER-SERVICE-PROVIDER
     * 3. MEMBER-SERVICE-PROVIDER 目前有 兩個 Availability Zones member-service-provider:10000
     *    還有一個 member-service-provider:10002
     *    需要增加一個注解@LoadBalanced 賦予 RestTemplate 負載均衡的能力,也就是會根據(jù)你的負載均衡算法
     *    來選擇某個服務(wù)去訪問, 默認是輪詢算法, 當(dāng)然我們也可以自己配置負載均衡算法
     */
    public static final String MEMBER_SERVICE_PROVIDER_URL =
            "http://MEMBER-SERVICE-PROVIDER"; //后面這里地方會修改成提供服務(wù)模塊的注冊別名
    //裝配RestTemplate bean/對象
    @Resource
    private RestTemplate restTemplate;

    //方法/接口 添加member對象到數(shù)據(jù)庫/表
    //說明: 這還有一個坑, 一會就解決.
    @PostMapping("/member/consumer/save")
    public Result<Member> save(Member member) {
        log.info("service-consumer member={}", member);
        //說明
        //請的完整的url :MEMBER_SERVICE_PROVIDER_URL + "/member/save" => http://localhost:10000/member/save
        //member : 就是通過restTemplate 發(fā)出的post請求攜帶數(shù)據(jù)(對象)
        //Result.class: 返回對象類型
        //這里通過restTemplate 調(diào)用服務(wù)提供模塊的接口, 就是一個遠程調(diào)用 RPC

        return restTemplate.postForObject(MEMBER_SERVICE_PROVIDER_URL
                + "/member/save", member, Result.class);
    }

    //方法/接口 , 根據(jù)id 調(diào)用服務(wù)接口,返回member對象信息
    @GetMapping("/member/consumer/get/{id}")
    public Result<Member> getMemberById(@PathVariable("id") Long id) {

        return restTemplate.getForObject(
                MEMBER_SERVICE_PROVIDER_URL + "/member/get/" + id, Result.class);
    }

}

完成測試
首先啟動微服務(wù)模塊: member-service-provider-10000 和member-service-consumer-80

瀏覽器: http://localhost/member/consumer/get/1

Spring Cloud--從零開始搭建微服務(wù)基礎(chǔ)環(huán)境【三】,Spring Cloud,spring cloud,微服務(wù),spring

注意事項和使用細節(jié)

如果member-service-consumer-80 啟動報錯:

springBoot 啟動If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.

//加入排除DataSourceAutoConfiguration 自動配置
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
public class MemberConsumerApplication {
    public static void main(String[] args) {
    	SpringApplication.run(MemberConsumerApplication.class, args);
    }
}
添加會員數(shù)據(jù)庫中為null 的解決方案

通過網(wǎng)絡(luò)發(fā)送相當(dāng)于流的形式,底層會重新變成對象以json形式傳播,不做處理就會添加空。需要通過序列化發(fā)送才能反序列化恢復(fù)

Spring Cloud--從零開始搭建微服務(wù)基礎(chǔ)環(huán)境【三】,Spring Cloud,spring cloud,微服務(wù),spring

Spring Cloud--從零開始搭建微服務(wù)基礎(chǔ)環(huán)境【三】,Spring Cloud,spring cloud,微服務(wù),spring

開啟Run DashBoard
什么是Run Dashboard

當(dāng)springcloud 的服務(wù)有多個時,管理多個服務(wù)的啟動使用run 會不好管理,這樣我們就可以使用Run Dashboard。

如圖

Spring Cloud--從零開始搭建微服務(wù)基礎(chǔ)環(huán)境【三】,Spring Cloud,spring cloud,微服務(wù),spring

新版的2020 的IDEA 當(dāng)你同時啟動兩個微服務(wù)時,不會彈出啟動Run Dashboard 窗口的提示,是因為IDEA2020 將Run Dashboard 添加到控制臺Service 中

開啟Run Daahboard/Service 的步驟
  1. 找到你的項目/.idea/workspace.xml 文件在其中添加下面的代碼即可

Spring Cloud--從零開始搭建微服務(wù)基礎(chǔ)環(huán)境【三】,Spring Cloud,spring cloud,微服務(wù),spring

  1. 重新啟動idea2020.2 , 會看到如下界面, 如果沒有看到這個Services, 參考第3 步添加一下即可

Spring Cloud--從零開始搭建微服務(wù)基礎(chǔ)環(huán)境【三】,Spring Cloud,spring cloud,微服務(wù),spring

  1. 如果沒有看到這個Services, 添加一下即可

Spring Cloud--從零開始搭建微服務(wù)基礎(chǔ)環(huán)境【三】,Spring Cloud,spring cloud,微服務(wù),spring

Spring Cloud--從零開始搭建微服務(wù)基礎(chǔ)環(huán)境【三】,Spring Cloud,spring cloud,微服務(wù),spring

Spring Cloud--從零開始搭建微服務(wù)基礎(chǔ)環(huán)境【三】,Spring Cloud,spring cloud,微服務(wù),spring

  1. 啟動你的微服務(wù),就會在Service 面板上看到各個微服務(wù)模塊, 也可以進行管理

Spring Cloud--從零開始搭建微服務(wù)基礎(chǔ)環(huán)境【三】,Spring Cloud,spring cloud,微服務(wù),spring

提醒: 不同版本的IDEA 開啟Run DashBoard 有區(qū)別,如果和這里IDEA 版本不同,百度下解決。

文章到這里就結(jié)束了,如果有什么疑問的地方請指出,諸大佬們一起來評論區(qū)一起討論??
希望能和諸大佬們一起努力,今后我們一起觀看感謝您的閱讀??
如果幫助到您不妨3連支持一下,創(chuàng)造不易您們的支持是我的動力??文章來源地址http://www.zghlxwxcb.cn/news/detail-699540.html

到了這里,關(guān)于Spring Cloud--從零開始搭建微服務(wù)基礎(chǔ)環(huán)境【三】的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 從零開始 Spring Cloud 7:Gateway

    從零開始 Spring Cloud 7:Gateway

    圖源:laiketui.com Spring Cloud Gateway 是 Spring Cloud 的一個全新項目,該項目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等響應(yīng)式編程和事件流技術(shù)開發(fā)的網(wǎng)關(guān),它旨在為微服務(wù)架構(gòu)提供一種簡單有效的統(tǒng)一的 API 路由管理方式。 網(wǎng)關(guān)的 核心功能特性 : 請求路由 權(quán)限控制 限流

    2024年02月16日
    瀏覽(21)
  • 從零開始 Spring Cloud 12:Sentinel

    從零開始 Spring Cloud 12:Sentinel

    1.1雪崩問題 1.1.1什么是雪崩問題 微服務(wù)中,服務(wù)間調(diào)用關(guān)系錯綜復(fù)雜,一個微服務(wù)往往依賴于多個其它微服務(wù)。 如圖,如果服務(wù)提供者I發(fā)生了故障,當(dāng)前的應(yīng)用的部分業(yè)務(wù)因為依賴于服務(wù)I,因此也會被阻塞。此時,其它不依賴于服務(wù)I的業(yè)務(wù)似乎不受影響。 但是,依賴服務(wù)

    2024年02月11日
    瀏覽(19)
  • SpringCloud--從零開始搭建微服務(wù)基礎(chǔ)環(huán)境入門教程【一】

    SpringCloud--從零開始搭建微服務(wù)基礎(chǔ)環(huán)境入門教程【一】

    ??前言 本篇博文是關(guān)于SpringCloud–從零開始搭建微服務(wù)基礎(chǔ)環(huán)境入門教程【一】,希望你能夠喜歡?? ??個人主頁:晨犀主頁 ??個人簡介:大家好,我是晨犀,希望我的文章可以幫助到大家,您的滿意是我的動力???? ??歡迎大家:這里是CSDN,我總結(jié)知識的地方,歡迎來

    2024年02月10日
    瀏覽(33)
  • Spring Cloud【SkyWalking服務(wù)環(huán)境搭建、微服務(wù)接入SkyWalking探針、Docker搭建Elasticsearch環(huán)境 】(十四)

    Spring Cloud【SkyWalking服務(wù)環(huán)境搭建、微服務(wù)接入SkyWalking探針、Docker搭建Elasticsearch環(huán)境 】(十四)

    ? 目錄 分布式請求鏈路追蹤_SkyWalking服務(wù)環(huán)境搭建

    2024年02月07日
    瀏覽(23)
  • SkyWalking鏈路追蹤-搭建-spring-boot-cloud-單機環(huán)境 之《10 分鐘快速搭建 SkyWalking 服務(wù)》

    SkyWalking鏈路追蹤-搭建-spring-boot-cloud-單機環(huán)境 之《10 分鐘快速搭建 SkyWalking 服務(wù)》

    首先了解一下單機環(huán)境 第一步,搭建一個 Elasticsearch 服務(wù)。 第二步,下載 SkyWalking 軟件包。 第三步,搭建一個 SkyWalking OAP 服務(wù)。 第四步,啟動一個 Spring Boot 應(yīng)用,并配置 SkyWalking Agent。 第五步,搭建一個 SkyWalking UI 服務(wù)。 準備工作,準備一個docker網(wǎng)絡(luò)組,網(wǎng)絡(luò)組的名字為

    2024年02月15日
    瀏覽(26)
  • 【微服務(wù) 從0開始 】Spring Cloud 配置文件

    【微服務(wù) 從0開始 】Spring Cloud 配置文件

    ??這里是【秒懂·云原生】,關(guān)注我學(xué)習(xí)云原生不迷路 ??如果對你有幫助,給博主一個免費的點贊以示鼓勵 歡迎各位??點贊??評論收藏?? 【秒懂·云原生】 目前主要更新微服務(wù),一起學(xué)習(xí)一起進步。 主要介紹Spring Cloud 配置文件 在創(chuàng)建Spring Boot項目時,會默認在resourc

    2024年02月02日
    瀏覽(19)
  • 從零開始搭建企業(yè)管理系統(tǒng)(三):集成 Spring Data Jpa

    從零開始搭建企業(yè)管理系統(tǒng)(三):集成 Spring Data Jpa

    JPA(Java Persistence API)是 Java 標準中的一套 ORM 規(guī)范(提供了一些編程的 API 接口,具體實現(xiàn)由 ORM 廠商實現(xiàn),如Hiernate、TopLink 、Eclipselink等都是 JPA 的具體實現(xiàn)),借助 JPA 技術(shù)可以通過注解或者 XML 描述【對象-關(guān)系表】之間的映射關(guān)系,并將實體對象持久化到數(shù)據(jù)庫中(即

    2024年02月04日
    瀏覽(19)
  • 【Spring教程29】Spring框架實戰(zhàn):從零開始學(xué)習(xí)SpringMVC 之 服務(wù)器響應(yīng)知識全面詳解

    【Spring教程29】Spring框架實戰(zhàn):從零開始學(xué)習(xí)SpringMVC 之 服務(wù)器響應(yīng)知識全面詳解

    歡迎大家回到《Java教程之Spring30天快速入門》,本教程所有示例均基于Maven實現(xiàn),如果您對Maven還很陌生,請移步本人的博文《如何在windows11下安裝Maven并配置以及 IDEA配置Maven環(huán)境》,本文的上一篇為《SpringMVC 之 請求與請求參數(shù)詳解》 上一節(jié)我們說了SpringMvc請求知識,這一節(jié)

    2024年02月03日
    瀏覽(32)
  • 『從零開始』擁有一臺服務(wù)器并搭建java開發(fā)環(huán)境

    『從零開始』擁有一臺服務(wù)器并搭建java開發(fā)環(huán)境

    ??各位小伙伴們大家好,歡迎來到這個小扎扎的博客,本篇博客中將會和大家分享如何購買甚至白嫖一臺屬于你自己的服務(wù)器(當(dāng)然這臺服務(wù)器會有時間限制),服務(wù)器到手之后就是服務(wù)器的設(shè)置以及常規(guī)java開發(fā)的環(huán)境搭建,以上內(nèi)容在本篇博客中都會作詳細講解 ??首

    2024年01月19日
    瀏覽(35)
  • Nacos 單機集群搭建及常用生產(chǎn)環(huán)境配置 | Spring Cloud 3

    Nacos /nɑ:k??s/ 是 Dynamic Naming and Configuration Service 的首字母簡稱,一個更易于構(gòu)建云原生應(yīng)用的動態(tài)服務(wù)發(fā)現(xiàn)、配置管理和服務(wù)管理平臺。 Nacos 致力于幫助您發(fā)現(xiàn)、配置和管理微服務(wù)。 Nacos 提供了一組簡單易用的特性集,幫助您快速實現(xiàn)動態(tài)服務(wù)發(fā)現(xiàn)、服務(wù)配置、服務(wù)元數(shù)據(jù)

    2024年02月03日
    瀏覽(30)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包