当前位置: 首页 > news >正文

商务贸易网站建设北京网站seo设计

商务贸易网站建设,北京网站seo设计,教育网站制作要多少钱,网络营销的四种模式SpringClud一站式学习之Eureka服务治理 引言1. 搭建Eureka Server1.1. 添加Eureka Server依赖1.2. 添加 Eureka Server注解1.3. 配置Eureka Server1.4. 运行Eureka Server 2. 搭建Eureka Client 服务提供者2.1. 添加依赖2.2. 添加注解2.3. 配置Eureka Client2.4. 启动服务 3. 搭…

SpringClud一站式学习之Eureka服务治理

  • 引言
  • 1. 搭建Eureka Server
    • 1.1. 添加Eureka Server依赖
    • 1.2. 添加 Eureka Server注解
    • 1.3. 配置Eureka Server
    • 1.4. 运行Eureka Server
  • 2. 搭建Eureka Client 服务提供者
    • 2.1. 添加依赖
    • 2.2. 添加注解
    • 2.3. 配置Eureka Client
    • 2.4. 启动服务
  • 3. 搭建Eureka Client 消费者
    • 3.1. 添加依赖
    • 3.2. 配置
    • 3.3. 服务消费者获取服务提供者信息
    • 3.4. 启动服务消费者
  • 4 搭建集群

引言

Eureka是Netflix开源的一款服务发现框架,它主要用于在微服务架构中定位服务,是服务之间调用的枢纽和关键。在微服务架构中,服务实例可能会动态地增加或减少,Eureka提供了服务注册和发现的功能,使得服务实例可以相互发现对方,而不需要硬编码服务地址。

Eureka的两个主要组件:
Eureka Server:服务注册中心,用于维护各个微服务实例的注册信息,各个微服务实例在启动时会向Eureka Server注册自己的信息,并定期发送心跳以表明自己的存活状态。当服务实例关闭或者网络问题导致心跳丢失时,Eureka Server会从注册信息中移除该实例。

Eureka Client:服务提供者和消费者都会使用Eureka Client来与Eureka Server进行通信。服务提供者在启动时会向Eureka Server注册自己的服务地址和端口,服务消费者通过Eureka Server查询服务提供者的地址,然后直接调用。
在这里插入图片描述
Eureka是Spring Cloud体系中的核心组件之一,它与Spring Cloud的其他组件(如Ribbon、Feign、Hystrix等)协同工作,提供了一套完整的微服务解决方案。通过Eureka,开发者可以更容易地实现服务的注册与发现,从而构建和管理复杂的微服务系统。

1. 搭建Eureka Server

1.1. 添加Eureka Server依赖

新建立springboot工程,添加Eureka Server依赖,

<?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.0.7.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.example</groupId><artifactId>eurakaservertrue</artifactId><version>0.0.1-SNAPSHOT</version><name>eurakaservertrue</name><description>Demo project for Spring Boot</description><url/><licenses><license/></licenses><developers><developer/></developers><scm><connection/><developerConnection/><tag/><url/></scm><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><version>RELEASE</version><scope>test</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Finchley.SR2</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>

1.2. 添加 Eureka Server注解

在启动类上添加注解,表明为Eureka Server
@EnableEurekaServer

1.3. 配置Eureka Server

spring.application.name=eurakaservertrue
server.port=8761
#从注册表中获取信息
eureka.client.fetch-registry=false
#允许自己注册到服务中
eureka.client.register-with-eureka=false

1.4. 运行Eureka Server

在这里插入图片描述
访问http://localhost:8761/ 出现此界面表示已经搭建好了服务
在这里插入图片描述

2. 搭建Eureka Client 服务提供者

2.1. 添加依赖

新建立一个spirngboot工程,并添加Eureka Client依赖

<?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.0.7.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.example</groupId><artifactId>erakaclientprovide</artifactId><version>0.0.1-SNAPSHOT</version><name>erakaclientprovide</name><description>Demo project for Spring Boot</description><url/><licenses><license/></licenses><developers><developer/></developers><scm><connection/><developerConnection/><tag/><url/></scm><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</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-netflix-eureka-client</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><version>RELEASE</version><scope>test</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Finchley.SR2</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>

2.2. 添加注解


@EnableDiscoveryClient

2.3. 配置Eureka Client

spring.application.name=erakaclientprovide
server.port=8081eureka.client.service-url.defaultZone: http://localhost:8761/eureka/
#自定义实例ID
eureka.instance.instance-id=${spring.application.name}:${spring.cloud.client.ip-address}${server.port}

2.4. 启动服务

在这里插入图片描述

3. 搭建Eureka Client 消费者

3.1. 添加依赖

<?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.0.7.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.example</groupId><artifactId>erakaclientconsumer</artifactId><version>0.0.1-SNAPSHOT</version><name>erakaclientconsumer</name><description>Demo project for Spring Boot</description><url/><licenses><license/></licenses><developers><developer/></developers><scm><connection/><developerConnection/><tag/><url/></scm><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</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-netflix-eureka-client</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><version>RELEASE</version><scope>test</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Finchley.SR2</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>

3.2. 配置

spring.application.name=erakaclientconsumer
server.port=8082eureka.client.service-url.defaultZone: http://localhost:8761/eureka/
#自定义实例ID
eureka.instance.instance-id=${spring.application.name}:${spring.cloud.client.ip-address}${server.port}

3.3. 服务消费者获取服务提供者信息

编写controller 方法获取

package com.example.erakaclientconsumer.controller;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.GetMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.List;
import java.util.stream.Collectors;/*** @Auther: lifang* @Description* @Date: $ $* $* $**/
@RestController
public class EurekeController {@Autowiredprivate DiscoveryClient discoveryClient;//获取Eureka服务中所有的提供者信息@GetMapping("/instance")public List<ServiceInstance> getApplication(){List<ServiceInstance> instances=discoveryClient.getServices().stream().map(sid->discoveryClient.getInstances(sid)).collect(Collectors.toList()).stream().flatMap(list->list.stream()).collect(Collectors.toList());return instances;}
}

3.4. 启动服务消费者

访问 http://localhost:8761/
在这里插入图片描述
访问 http://localhost:8082/instance
在这里插入图片描述

[{"metadata": {"management.port": "8082"},"secure": false,"uri": "http://localhost:8082","instanceInfo": {"instanceId": "erakaclientconsumer:192.168.10.1��8082","app": "ERAKACLIENTCONSUMER","appGroupName": null,"ipAddr": "192.168.10.1","sid": "na","homePageUrl": "http://localhost:8082/","statusPageUrl": "http://localhost:8082/actuator/info","healthCheckUrl": "http://localhost:8082/actuator/health","secureHealthCheckUrl": null,"vipAddress": "erakaclientconsumer","secureVipAddress": "erakaclientconsumer","countryId": 1,"dataCenterInfo": {"@class": "com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo","name": "MyOwn"},"hostName": "localhost","status": "UP","overriddenStatus": "UNKNOWN","leaseInfo": {"renewalIntervalInSecs": 30,"durationInSecs": 90,"registrationTimestamp": 1731075179095,"lastRenewalTimestamp": 1731075329123,"evictionTimestamp": 0,"serviceUpTimestamp": 1731075179095},"isCoordinatingDiscoveryServer": false,"metadata": {"management.port": "8082"},"lastUpdatedTimestamp": 1731075179095,"lastDirtyTimestamp": 1731075179034,"actionType": "ADDED","asgName": null},]

4 搭建集群

集群多个节点组成的服务器群,一个Eureka Server服务是一个节点,不同节点之间服务信息是相互复制的,对于Eureka Server不同的节点代码是一样的,不同的是地址不同,因此我们通过配置不同环境的方法启动2个Eureka Server,创建 application-A.properties 和application-B.properties,在application.properties,指定当前的配置文件,启动后更改下一个节点的配置文件;

server.port=8762
eureka.client.service-url.defaultZone: http://localhost:8761/eureka/
server.port=8761
eureka.client.service-url.defaultZone: http://localhost:8762/eureka/
spring.profiles.active=B

在这里插入图片描述

http://www.mmbaike.com/news/55539.html

相关文章:

  • 重庆网站建设选卓光国内搜索引擎排名
  • 设计国外网站有哪些电脑速成班短期电脑培训班
  • 怎么找到当地的微信推广郑州seo技术培训班
  • 直销系统网站建设无锡百度推广代理商
  • 北京朝阳区网站建设公司seo网站外链工具
  • asp.net个人网站关键词的优化方案
  • 手机网站设计制作公司医院营销策略的具体方法
  • 独立站如何推广引流今日关注
  • 非主营电子商务企业网站有哪些学好seo
  • 做网站为什么没收入百度通用网址
  • 教你如何做外挂的网站网络推广入门教程
  • 支付网站开发费可以做无形资产网络营销课程有哪些
  • 宜宾做直销会员网站培训平台
  • 百度搜索网站包含的功能长沙市网站制作
  • 延安网站制作百度seo网站
  • 密云城乡住宅建设委员会网站最有效的推广方法
  • 北京做网站的好公司产品营销推广的方案
  • 扬中市建设局网站百度竞价开户
  • 免费网站模板无需注册软文广告经典案例
  • 电商网站建设流程网站seo优化皆宣徐州百都网络不错
  • 重庆建筑信息工程官网seo整站优化哪家好
  • 网站被攻击怎么让百度重新蜘蛛自动抓竞价推广外包
  • wordpress 405放心网站推广优化咨询
  • 做公司产品展示网站网站设计公司怎么样
  • 建设银行招聘社会招聘网站推广营销大的公司
  • 重庆做企业网站临汾网络推广
  • 浙江北仑哪里可以做新闻网站编辑石家庄网站建设seo公司
  • 网站建设中 动态图片免费发布信息网平台
  • 做佣金单网站百度知道app
  • 体育论坛网站建设win7优化配置的方法