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

spring boot + Consul 示例 (Kotlin版)

這篇具有很好參考價值的文章主要介紹了spring boot + Consul 示例 (Kotlin版)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1.docker 安裝consul

docker-compose.yaml

version: "3"

services:
  consul:
    image: consul:1.4.4
    container_name: consul
    environment:
      - CONSUL_BIND_INTERFACE=eth0
    ports:
      - "8500:8500"

這里使用的是consul的1.4.4版本的image,可以根據(jù)需要更換不同的版本。
在docker-compose.yaml文件所在路勁執(zhí)行如下指令后

docker-compose up -d

查看當前容器運行情況

CONTAINER ID   IMAGE          COMMAND                  CREATED      STATUS       PORTS                                                                      NAMES
417107b6159c   consul:1.4.4   "docker-entrypoint.s…"   6 days ago   Up 2 hours   8300-8302/tcp, 8301-8302/udp, 8600/tcp, 8600/udp, 0.0.0.0:8500->8500/tcp   consul

此時,可以訪問consul的dashboard界面
localhost:500
spring boot + Consul 示例 (Kotlin版),kotlin,spring-cloud,spring boot,consul

2.創(chuàng)建基于springboot的client

上述docker安裝的consul server作為服務發(fā)現(xiàn)中心,此時創(chuàng)建client并注冊到注冊中心。

2.1 依賴版本

name version
spring-boot 2.7.15
spring-cloud 2021.0.8
JAVA 11
Kotlin 1.6
Maven 3.9

2.2 pom.xml

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.15</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>sb-consul</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>sb-consul</name>
    <description>sb-consul</description>
    <properties>
        <java.version>11</java.version>
        <kotlin.version>1.6.21</kotlin.version>
        <spring-cloud.version>2021.0.8</spring-cloud.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.module</groupId>
            <artifactId>jackson-module-kotlin</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-reflect</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-stdlib-jdk8</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-consul-discovery</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory>
        <testSourceDirectory>${project.basedir}/src/test/kotlin</testSourceDirectory>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.jetbrains.kotlin</groupId>
                <artifactId>kotlin-maven-plugin</artifactId>
                <configuration>
                    <args>
                        <arg>-Xjsr305=strict</arg>
                    </args>
                    <compilerPlugins>
                        <plugin>spring</plugin>
                    </compilerPlugins>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.jetbrains.kotlin</groupId>
                        <artifactId>kotlin-maven-allopen</artifactId>
                        <version>${kotlin.version}</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

</project>

注意: 這里重要的有兩個依賴,分別是:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>

這個用來注冊到consul的注冊中心

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

這個是用來做健康檢測的,不加的話,請求接口HTTP GET http://192.168.19.123:10086/actuator/health會失敗,認為服務不健康。(這里我理解為服務不健康,就不可以對外提供服務,但是我本地起了兩個一樣的服務,一個是通過健康檢測的,一個沒有,但是都可以訪問到。不知道為什么。。)

2.3 啟動類


import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.runApplication
import org.springframework.cloud.client.discovery.EnableDiscoveryClient

@SpringBootApplication
@EnableDiscoveryClient
class SbConsulApplication

fun main(args: Array<String>) {
    runApplication<SbConsulApplication>(*args)
}

注意添加注解@EnableDiscoveryClient,不過是使用Eureka還是Consul這種注冊中心,都需要指明服務發(fā)現(xiàn)的client。

2.4 application.properties

spring.application.name=YYtest
server.port=10086

spring.cloud.consul.host=localhost
spring.cloud.consul.port=8500
spring.cloud.consul.discovery.serviceName=${spring.application.name}

這里主要就是指明服務發(fā)現(xiàn)的配置內(nèi)容,即Consul server的地址。

3 搭建完成

這個時候,再訪問Consul的dashboard界面,可以看到服務已經(jīng)注冊成功。
spring boot + Consul 示例 (Kotlin版),kotlin,spring-cloud,spring boot,consul
點擊我們的服務YYtest 服務
spring boot + Consul 示例 (Kotlin版),kotlin,spring-cloud,spring boot,consul
spring boot + Consul 示例 (Kotlin版),kotlin,spring-cloud,spring boot,consul

4. 總結(jié)

先感受了一下Consul,又好像什么都沒感受一樣。繼續(xù)深入學習。。。文章來源地址http://www.zghlxwxcb.cn/news/detail-696162.html

到了這里,關于spring boot + Consul 示例 (Kotlin版)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關文章

  • Springboot 實踐(10)spring cloud 與consul配置運用之服務的注冊與發(fā)現(xiàn)

    ????????前文講解,完成了springboot、spring security、Oauth2.0的繼承,實現(xiàn)了對系統(tǒng)資源的安全授權(quán)、允許獲得授權(quán)的用戶訪問,也就是實現(xiàn)了單一系統(tǒng)的全部技術(shù)開發(fā)內(nèi)容。 ????????Springboot是微服務框架,單一系統(tǒng)只能完成指定系統(tǒng)的功能;那么多個單一系統(tǒng)是如何實現(xiàn)

    2024年02月12日
    瀏覽(21)
  • spring boot 服務健康檢測返回OUT_OF_SERVICE,導致服務無法成功注冊到consul

    spring boot 服務健康檢測返回OUT_OF_SERVICE,導致服務無法成功注冊到consul

    健康檢測接口返回OUT_OF_SERVICE 從日志啟動看,沒有任何報錯信息;而且jvm進程也啟動成功。 關鍵的一點信息是,服務的swagger地址訪問也正常。 但是,consul上的服務狀態(tài)就是不健康。 當然,重啟大法不好使。 增加配置項: management.endpoint.health.show-details: always 可以看出,ela

    2024年02月14日
    瀏覽(21)
  • Docker Consul詳解與部署示例

    Docker Consul詳解與部署示例

    ? 目錄 Consul構(gòu)成 Docker Consul 概述 Raft算法 服務注冊與發(fā)現(xiàn) 健康檢查 Key/Value存儲 多數(shù)據(jù)中心 部署模式 consul-template守護進程 registrator容器 consul服務部署(192.168.41.31) 環(huán)境準備 搭建Consul服務 查看集群信息 registrator服務部署(192.168.41.32) 安裝 Gliderlabs/Registrator: 測試服務發(fā)現(xiàn)

    2024年01月17日
    瀏覽(22)
  • Spring Boot進階(79):使用Kotlin輕松打造高效的Spring Boot應用

    ????????隨著Java開發(fā)語言的發(fā)展,很多新的編程語言不斷涌現(xiàn),其中Kotlin備受開發(fā)者青睞,它是一種相對新的基于JVM的靜態(tài)語言,支持Java虛擬機(JVM)和Android開發(fā)。Kotlin將Java語言中的一些缺點進行了優(yōu)化,并增加了很多新的特性,因此在開發(fā)效率和代碼可讀性上具有很

    2024年02月08日
    瀏覽(27)
  • 聊聊spring-cloud的負載均衡

    聊聊spring-cloud的負載均衡

    在微服務架構(gòu)中,負載均衡是非常重要的一個環(huán)節(jié),可以有效地提高系統(tǒng)的可用性和穩(wěn)定性。在Spring Cloud中,提供了多種負載均衡組件和算法,本文將詳細介紹如何減少負載均衡對系統(tǒng)性能的影響。 在選擇負載均衡算法時,需要根據(jù)實際情況進行選擇。常用的負載均衡算法有

    2024年02月16日
    瀏覽(24)
  • idea快速搭建一個spring-cloud

    idea快速搭建一個spring-cloud

    1、創(chuàng)建一個空的maven項目! 2、創(chuàng)建一個注冊中心模塊 3、配置注冊中心 配置文件改用yml,配置如下: 注意pom文件中springcloud與springboot的版本對應問題 啟動成功后,訪問本地+端口即可看到注冊中心頁面,說明成功啦!

    2024年02月01日
    瀏覽(28)
  • spring-cloud依賴下載失敗踩坑

    問題:could not find artifact org.springfarmework.cloud:spring-cloud-dependencies:pom:Hoxton.SR10 in alimaven (http://maven.aliyun.com/nexus/content/groups/public) 1在maven的conf文件夾中settings文件中配置阿里云鏡像 2在pom文件中加入以下代碼

    2024年02月15日
    瀏覽(18)
  • Spring Cloud + Spring Boot 項目搭建結(jié)構(gòu)層次示例講解

    Spring Cloud + Spring Boot 項目搭建結(jié)構(gòu)層次示例講解

    以下是我搭建Spring cloud項目架構(gòu)的經(jīng)驗,我將以圖片的形式和大家進行分享;至于Spring Boot的搭建經(jīng)驗,我會在圖后以文字描述的方式和大家分享,請往下看: Spring Boot的搭建經(jīng)驗,我會以文字描述的方式和大家分享,請往下看: Controller 層 :Controller 層負責處理客戶端的請

    2024年02月11日
    瀏覽(32)
  • Spring-Cloud中服務發(fā)現(xiàn)是什么?干什么的?怎么用?

    Spring-Cloud中服務發(fā)現(xiàn)是什么?干什么的?怎么用?

    Spring Cloud 通過 Eureka 或 Consul 等服務注冊與發(fā)現(xiàn)組件來實現(xiàn)微服務間的相互感知。服務提供者將自己的服務信息注冊到注冊中心,服務消費者從注冊中心獲取服務提供者的信息,從而進行服務調(diào)用。 在 Spring Cloud 中,服務發(fā)現(xiàn)是一種機制,用于 自動檢測 和定位分布式系統(tǒng)中的

    2024年03月09日
    瀏覽(27)
  • Spring Boot集成ShardingSphere分片利器 AutoTable (二)—— 自動分片算法示例 | Spring Cloud 46

    Spring Boot集成ShardingSphere分片利器 AutoTable (二)—— 自動分片算法示例 | Spring Cloud 46

    在前面我們通過以下章節(jié)對 ShardingSphere 的 AutoTable 有了基礎的了解: Spring Boot集成ShardingSphere分片利器 AutoTable (一)—— 簡單體驗 | Spring Cloud 45 書接上回,本章進行對 AutoTable 支持的自動分片算法進行逐一示例說明。 示例采用 springboot 集成 shardingsphere-jdbc 方式搭建。 shadi

    2024年02月10日
    瀏覽(16)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包