eureka开发环境搭建

现在开始学另外一个微服务注册中心,虽然大部分企业都是用springcloudalibaba,但是eureka作为经典的微服务注册中心还是有很多设计值得借鉴,并且可以为我们的技术选型提供一种选择。先把eureka的开发环境搭建起来吧。

父工程

先创建工程,在idea里建个父工程,只要引入springcloud的相关依赖就行,以后多个子工程想添加依赖,只要在父工程添加就行。

<?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>
    <packaging>pom</packaging>
    <modules>
        <module>../EurekaServer</module>
        <module>../EurekaServiceProvider</module>
        <module>../EurekaServiceConsumer</module>
    </modules>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.6.RELEASE</version>
    </parent>
    <groupId>org.example</groupId>
    <artifactId>parent</artifactId>
    <version>1.0-SNAPSHOT</version>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Greenwich.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-commons</artifactId>
        </dependency>
    </dependencies>
</project>

服务端

eureka需要手动启动一个服务端作为微服务注册中心,其实也很简单,都是spring整合好的,建好子工程后先引入依赖

<?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>parent</artifactId>
        <groupId>org.example</groupId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../parent/pom.xml</relativePath>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>EurekaServer</artifactId>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
    </dependencies>


</project>

接下来配置地址

server:  # 服务端口
  port: 9090
spring:
  application:  # 应用名字,eureka 会根据它作为服务id
    name: spring-cloud-eureka-server
eureka:
  instance:
    hostname: localhost
  client:
    service-url:   #  eureka server 的地址, 咱们单实例模式就写自己好了
      defaultZone:  http://localhost:9090/eureka
    register-with-eureka: false  # 不向eureka server 注册自己
    fetch-registry: false  # 不向eureka server 获取服务列表

然后再到主类上标记,就是使用@EnableEurekaServer注解

@SpringBootApplication
@EnableEurekaServer
public class EurekaServer {
    public static void main(String[] args) {
        SpringApplication.run(EurekaServer.class);
    }
}

客户端

服务端有了,接下来只要通过客户端向服务端注册微服务就行了,也不麻烦。先引入依赖,

<?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>parent</artifactId>
        <groupId>org.example</groupId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../parent/pom.xml</relativePath>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>EurekaServiceProvider</artifactId>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
    </dependencies>


</project>

添加配置

server:
  port: 7070
spring:
  application:
    name: service-provider
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:9090/eureka
    fetch-registry: true
    register-with-eureka: true

在标记为eureka客户端,提供个api供其他微服务客户端发现和调用。

@SpringBootApplication
@EnableEurekaClient
public class ServiceProvider {
    public static void main(String[] args) {
        SpringApplication.run(ServiceProvider.class);
    }

    @RestController
    public class OrderStatisticServiceController {
        @Value("${server.port}")
        private Integer port;

        @GetMapping("/echo/{str}")
        public String getTodayFinishOrderNum(@PathVariable("str") String str){
            return port + str;
        }
    }

}

再来个客户端调用其他客户端的微服务

@SpringBootApplication
@EnableEurekaClient
public class ServiceConsumer {
    public static void main(String[] args) {
        SpringApplication.run(ServiceConsumer.class);
    }

    @LoadBalanced
    @Bean
    RestTemplate restTemplate(){
        return new RestTemplate();
    }

    @RestController
    public class UserCenterController {
        @Autowired
        private RestTemplate restTemplate;

        @GetMapping("/echo/{str}")
        public String echo(@PathVariable("str") String str){
            return restTemplate.getForObject("http://SERVICE-PROVIDER/echo/" + str, String.class);
        }
    }

}

现在整个环境就搭建好了,接下来就可以随便折腾了。

要搭建Spring Cloud开发环境,你需要进行以下步骤: 1. 首先,你需要确保你的Java开发环境已经安装和配置好了。你可以去Oracle官网下载和安装Java Development Kit (JDK)。 2. 接下来,你需要使用构建工具(比如Maven或Gradle)来构建你的项目。在你的项目的pom.xml(如果使用Maven)或build.gradle(如果使用Gradle)文件中,你需要添加Spring Cloud的相关依赖。你可以在Maven Central Repository搜索并添加Spring Cloud的依赖,其中包括中提到的`org.springframework.cloud:spring-cloud-config-server`和中提到的`org.springframework.cloud:spring-cloud-config-client`。 3. 在你的项目中,你需要创建一个Spring Cloud Config Server。这是一个服务,用于管理和提供配置信息给其他应用程序。你可以使用Spring Boot创建一个新的Spring Cloud Config Server应用程序,并在其配置文件中指定一些基本设置,比如配置文件存储库的位置和访问控制规则。 4. 接下来,你需要创建一个Spring Cloud Config Client应用程序。这是真正的应用程序,它将从Config Server获取配置信息并使用它们。你可以使用Spring Boot创建一个新的Spring Cloud Config Client应用程序,并在其配置文件中指定Config Server的URL以及应用程序需要的其他配置属性。 5. 最后,你可以根据需要创建其他的Spring Cloud组件,比如服务注册与发现(如Spring Cloud Netflix Eureka),负载均衡(如Spring Cloud Netflix Ribbon)等等。根据你的具体需求,你可以在你的项目中添加这些组件。 综上所述,搭建Spring Cloud开发环境的步骤包括安装Java开发环境、配置构建工具、添加Spring Cloud依赖、创建Config Server和Config Client应用程序,以及根据需要添加其他的Spring Cloud组件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值