SpringCloud--向服務註冊中心註冊一個服務
xl_echo編輯整理,歡迎轉載,轉載請宣告文章來源。更多IT程式設計案例、資料請聯絡QQ:1280023003 ,群:298140694
百戰不敗,依不自稱常勝,百敗不頹,依能奮力前行。——這才是真正的堪稱強大!!
前言:
在註冊服務之前你需要一個正常執行的服務註冊中心,搭建參考:https://blog.csdn.net/xlecho/article/details/80614496
在springcloud中每一個服務都是一個springboot工程,所以我們的服務搭建也是從一個簡單的springboot工程開始,新增基本的依賴之後,最為關鍵的就是怎麼指向我們的服務註冊中心。
快速搭建一個springboot工程,工程結構如下:
pom依賴詳情如下:
<?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">
<modelVersion>4.0.0</modelVersion >
<groupId>com.echo.demo</groupId>
<artifactId>demo_service</artifactId>
<version>1.0-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId >
<version>1.5.13.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.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-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Brixton.SR5</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
pom檔案和我們之前建立的springboot工程有不同的地方在於多添加了幾個依賴
<dependencies>
<!-- 編寫了自動配置Web項的邏輯 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- springboot對單元測試的支援 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- 表明這是一個eureka的服務 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
</dependencies>
主類:
package com.echo.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
/**
* Created by Xlecho on 2018/6/8/008
*/
@SpringBootApplication
//服務註冊元件
@EnableDiscoveryClient
public class ServiceApplication {
public static void main(String[] args){
SpringApplication.run(ServiceApplication.class, args);
}
}
基本的依賴新增好後,主類啟用服務註冊元件,那麼我們就需要為工程指定註冊的位置了,不然兩個springboot工程不能自動匹配。配置檔案就是我們的application.properties,詳情如下
spring.application.name=demo_service
#注意一下地址是eureka的地址,不能隨便寫,不然無法發現註冊中心
eureka.client.serviceUrl.defaultZone=http://localhost:10080/eureka/
補充:類一個
package com.echo.demo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
/**
* Created by Xlecho on 2018/6/8/008
*/
@RestController
public class HelloController {
private static final Logger logger = LoggerFactory.getLogger(HelloController.class);
@Autowired
private DiscoveryClient client;
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public String index(){
ServiceInstance instance = client.getLocalServiceInstance();
logger.info("/hello, host:" + instance.getHost() + ", service_id:" + instance.getServiceId());
return "Hello World";
}
}
配置完成之後,我們一次啟動服務,先eureka,然後在啟動需要註冊的服務。之後訪問http://localhost:10080,看到一下介面就證明你成功了,可以看到我們註冊了一個服務。
採坑,如果我們碰到以下錯誤:
請檢查你的配置檔案application.properties中的註冊地址,報錯就是因為註冊地址是錯誤的。
採坑:當你自動生成專案配置完成啟動之後,只要一小會專案就會斷開。無法註冊,啟動也看起來不成功,但是沒有明顯的錯誤。
解決辦法:在服務提供者的pom.xml檔案中加入web依賴即可
以上為博主自己學習採坑實記,不喜勿噴,有不足的地方希望能夠補充評論。
相關推薦
SpringCloud--向服務註冊中心註冊一個服務
xl_echo編輯整理,歡迎轉載,轉載請宣告文章來源。更多IT程式設計案例、資料請聯絡QQ:1280023003 ,群:298140694 百戰不敗,依不自稱常勝,百敗不頹,依能奮力前行。——這才是真正的堪稱強大!! 前言: 在註冊服務之前你需要一個正常執行的
通過Maven將一個dubbo服務打包成可執行的jar包,並向註冊中心註冊服務
1.向pom.xml裡面新增如下程式碼: dubbo-Service${project.build.directory}/classessrc/main/resourcestrue**/*.p
【SpringCloud】consul註冊中心註冊的服務為內網(區域網)IP
## 一、前因 最近在做公司的一個微服務專案,技術架構為spring cloud + consul + SSM。 當我寫完一個功能要在本地測試時,發現**服務執行成功,但是前後端聯調報500錯誤。** 當時的第一個想法就是gateway服務的問題,但是其他同事卻說gateway服務沒毛病。 最後想到可
spring cloud 入門(四)【Eureka註冊中心,微服務之間服務呼叫方式二(FeignClient進行服務呼叫)】
FeignClient 支隊服務消費方進行修改,服務提供方不需要修改 還是對 User 進行修改 UserApplication 中新增 @EnableFeignClients UserApplication 程式碼如下: pac
spring cloud 入門(三)【Eureka註冊中心,微服務之間服務呼叫方式一(LoadBalancerClient 以及RestTemplate 進行服務呼叫)】
構建第二個微服務 menu 程式碼結構如下 MenuApplication 程式碼如下: package com.study.menu; import org.springframework.boot.SpringApplication; import org
Spring Cloud(一) — 服務註冊中心-註冊服務
SpringClod簡介 首先,pring Cloud是基於Spring Boot的, 最適合用於管理Spring Boot建立的各個微服務應用。 Spring提供了一系列工具,可以幫助開發人員迅速搭建分散式系統中的公共元件(比如:配置管理,服務發現,斷路器,智慧路由,微代理,
螞蟻金服服務註冊中心 SOFARegistry 解析 | 服務發現優化之路
SOFAStack Scalable Open Financial Architecture Stack 是螞蟻金服自主研發的
spring cloud系列教程第八篇-修改服務名稱及獲取註冊中心註冊者的資訊
spring cloud系列教程第八篇-修改服務名稱及獲取註冊中心註冊者的資訊 本文主要內容: 1:管理頁面主機名及訪問ip資訊提示修改 2:獲取當前註冊中心的服務列表及每個服務對於的服務提供者列表 本文是由凱哥(凱哥Java:kagejava)釋出的《spring cloud系列》教程的總第八篇:《修改服務
Dubbo系列之 (二)Registry註冊中心-註冊(1)
# 引導 dubbo的服務的註冊與發現,需要通過第三方註冊中心來協助完成,目前dubbo支援的註冊中心包括 zookeeper,consul,etcd3,eureka,nacas,redis,sofa。這些註冊中心的不同支援在之後的篇章進行分享。 # 基礎鋪墊 在鋪墊一些基礎內容之前,根據如果下幾個問題來進行
Dubbo系列之 (二)Registry註冊中心-註冊(2)
# 引導 本章主要介紹下AbstractRegistry、FailbackRegistry的作用和原始碼。 # AbstractRegistry 首先,直接引出這個類的作用,該類主要把服務提供者資訊快取本地檔案上,檔案目錄是:當前使用者目錄下的/.dubbo/dubbo-registry-${applicat
SpringCloud的Config:ConfigServer註冊到EurekaServer中,變成一個Eureka服務
config 技術 .cn 驗證 服務 客戶 conf eureka ase 一、概念與定義 1、將SpringCloud ConfigServer註冊到 EurekaServer,以便ConfigClient以服務的方式引用ConfigServer 2、客戶端不再引用 C
微服務架構 SpringCloud(三)Eureka(註冊中心集群篇)
ima static ice fff active hostname 需要 lee 分別是 一:集群環境搭建第一步:我們新建兩個註冊中心工程一個叫eureka_register_service_master、另外一個叫eureka_register_service_back
史上最簡單的SpringCloud教程 | 第十篇: 高可用的服務註冊中心
pad 配置 設置ip systems 高可用性 多個 could hostname 打開 最新Finchley版本請訪問:https://www.fangzhipeng.com/springcloud/2018/08/30/sc-f10-eureka/或者http://
微服務分散式事務實戰(三)SpringCloud註冊中心編寫和測試
SpringCloud註冊中心編寫和測試 (1)建立註冊中心工程 (2)新增jar包 pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLS
4--SpringCloud搭建高可用的服務註冊中心 1--SpringCloud的服務註冊與發現Eureka 1--SpringCloud的服務註冊與發現Eureka 1--SpringCloud的服務註冊與發現Eureka
我們已經介紹了1--SpringCloud的服務註冊與發現Eureka,其中,主要演示瞭如何構建和啟動服務註冊中心Eureka Server,以及如何將服務註冊到Eureka Server中,但是在之前的示例中,這個服務註冊中心是單點的,顯然這並不適合應用於線上生產環境,那麼下面在前文的基礎上,我們來看看
SpringCloud微服務基礎1:Eureka註冊中心
1.Eureka基本概念 Spring Cloud Eureka是Spring Cloud Netflix專案下的服務治理模組。而Spring Cloud Netflix專案是Spring Cloud的子專案之一,主要內容是對Netflix公司一系列開源產品
SpringCloud-Eureka 服務註冊中心搭建--高可用以及負載均衡配置例項
前言: 由於公司使用的分散式框架太老,慢慢轉移使用SpringBoot微服務框架,後臺框架存在很多問題,為了優化底層服務,現採取如下措施: 0、Nexus搭建Maven私服 (集中
springcloud系列(一) eureka註冊中心集群搭建 服務消費方調用提供方
技術分享 lan serve home 使用 data com open title 說明 eureka server為集群方式,有三個節點。服務消費者調服務提供者現在是使用了InstanceInfo的 homePageUrl("http://192.168.10.1:80
SpringCloud----服務註冊中心Eureka
一 Eureka服務治理體系1.1 服務治理 服務治理是微服務架構中最為核心和基礎的模組,它主要用來實現各個微服務例項的自動化註冊和發現。 Spring Cloud Eureka是Spring Cloud Netflix微服務套件中的一部分,它基於Netfl
springcloud-Eureka搭建服務註冊中心
目錄: 1、搭建服務註冊的服務端; 2、將Spring boot的一個專案做為服務註冊進去; 一、搭建服務註冊的服務端 1、首先通過IntelliJ IDEA或其它IDE建立一個spring boot 專案; 2、在pom.xml檔案中新增sp