eureka01-快速入门单机配置

1.eureka服务器配置

1.maven配置
<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.2.4.RELEASE</version>
		<relativePath/>
	</parent>
	<groupId>com.example</groupId>
	<artifactId>eureka-server</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>
	<name>eureka-server</name>

	<properties>
		<java.version>1.8</java.version>
		<spring-cloud.version>Hoxton.SR1</spring-cloud.version>
	</properties>

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

		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<optional>true</optional>
		</dependency>

		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>1.2.62</version>
		</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>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>
2.启动类编写
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {
	public static void main(String[] args) {
		SpringApplication.run(EurekaServerApplication.class, args);
	}
}
3.application.properties配置

1.配置中不要使用localhost,全部使用域名,或者ip

2.注意defaultZone地址一定后面加上/eureka,单词不能写错

spring.application.name=eureka-server
server.port=8761
# hostname不要使用localhost在host文件中配置 127.0.0.1 
eureka.instance.hostname=eureka-01
#http格式为http://{本服务域名或者ip地址}:{本服务端口}/{可选}/eureka
eureka.client.service-url.defaultZone=https://eureka-01:8761/euraka
#取消服务器自我注册(单机版需要配置此参数)
eureka.client.register-with-eureka=false
#取消服务器检索(单机版本需要配置此参数)
eureka.client.fetch-registry=false

2.服务提供者与服务消费者配置

1.maven配置
  • pom配置
    <modelVersion>4.0.0</modelVersion>
    <packaging>pom</packaging>

    <groupId>org.example</groupId>
    <artifactId>springcloud-parent</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
        <java.version>1.8</java.version>
        <spring-cloud.version>Hoxton.SR1</spring-cloud.version>
        <spring-boot.version>2.2.4.RELEASE</spring-boot.version>
    </properties>

    <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>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-parent</artifactId>
                <version>2.2.4.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>1.18.8</version>
                <optional>true</optional>
            </dependency>
        </dependencies>

    </dependencyManagement>
  • pom配置

        <parent>
            <groupId>org.example</groupId>
            <artifactId>springcloud-parent</artifactId>
            <version>1.0-SNAPSHOT</version>
        </parent>
    
        <modelVersion>4.0.0</modelVersion>
        <dependencies>
            <dependency>
                <groupId>com.springcloud.api</groupId>
                <artifactId>springcloud-api</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    
    2.服务提供者和服务消费者properties配置

    消费者和提供者的配置除了应用名和端口不一样外,其他eureka配置完全一样

    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
    
    @SpringBootApplication
    @EnableDiscoveryClient
    public class ProviderApplication {
        public static void main(String[] args) {
            SpringApplication.run(ProviderApplication.class, args);
        }
    }
    
    @RestController
    public class ServiceAController {
    	@RequestMapping(value = "/sayHello/{name}",
    			method = RequestMethod.GET)
    	public String sayHello(@PathVariable("name") String name) {
    		return "{'msg': 'hello, " + name + "'}";  
    	}
    }
    
2.服务提供者和服务消费者properties配置

消费者和提供者的配置除了应用名和端口不一样外,其他eureka配置完全一样

spring.application.name=euraka-provider
server.port=8082

#eureka服务器域名或者ip地址
eureka.instance.hostname=eureka-01
eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:8761/eureka/
3.服务提供者代码
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

@SpringBootApplication
@EnableDiscoveryClient
public class ProviderApplication {
    public static void main(String[] args) {
        SpringApplication.run(ProviderApplication.class, args);
    }
}

服务提供类

@RestController
public class ServiceAController {
	@RequestMapping(value = "/sayHello/{name}",
			method = RequestMethod.GET)
	public String sayHello(@PathVariable("name") String name) {
		return "{'msg': 'hello, " + name + "'}";  
	}
}
4.消费者代码
  • 启动类

    @SpringBootApplication
    @EnableEurekaClient
    public class ConsumerApplication {
        public static void main(String[] args) {
            SpringApplication.run(ConsumerApplication.class, args);
        }
    }
    
  • 服务调用类

    @RestController
    @Configuration
    public class UserController {
        @Bean
        @LoadBalanced
        public RestTemplate getRestTemplate() {
            return new RestTemplate();
        }
    	
        @RequestMapping(value = "/greeting/{name}", method = RequestMethod.GET)
        public String greeting(@PathVariable("name") String name) {
            RestTemplate restTemplate = getRestTemplate();
            //直接使用http://{服务提供者应用名}/接口路径 访问  (无需使用服务提供者应用地址加端口)
            return restTemplate.getForObject("http://euraka-provider/sayHello/" + name, String.class);
        }
    }
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值