springcloud 笔记-服务注册中心

1.搭建springcloud服务注册中心需要添加eureka的依赖:

<?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.zty</groupId>
    <artifactId>mycloud</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>


    <name>mycloud</name>
    <description>my first project with springcloud</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.3.RELEASE</version>
        <relativePath />
    </parent>


 <modules>
        <module>mycloudserver</module>
     <module>service-ribbon</module>
     <!--<module>service-hi</module>-->
    </modules>

    <properties>
        <project.build.source.encoding>UTF-8</project.build.source.encoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <spring.cloud.version>Finchley.RELEASE</spring.cloud.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>sping-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>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

  2.编写配置文件(server):

server.port=8761
eureka.instance.hostname=localhost
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/
spring.application.name=eureka-server

    启动类(主要是这个注解@EnableEurekaServer):

package com.zty.mycloud;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@EnableEurekaServer
@SpringBootApplication
public class MycloudApplication {

    public static void main(String[] args) {
        SpringApplication.run(MycloudApplication.class, args);
    }
}

3.客户端配置:

server.port= 8763
spring.application.name=service.hi
eureka.client.service-url.defaultZone=http://localhost:8761/eureka/

客户端启动类:

package com.clientone.client;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.web.bind.annotation.RestController;


@SpringBootApplication
@EnableEurekaClient
@RestController
public class ClientApplication {

    public static void main(String[] args) {
        SpringApplication.run(ClientApplication.class, args);
    }
}

客户端socket:

package com.clientone.client;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.util.Scanner;

public class Client {

    public static void main(String[] args) {
        new Client().startClient();
    }

    public void startClient(){
        try {
            //连接到服务器
            Socket socket = new Socket("localhost", 6066);
            DataInputStream dis = new DataInputStream(socket.getInputStream());
            DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
            Scanner scanner = new Scanner(System.in);
            String line = null;
            listenServerReply(dis);
            while((line = scanner.nextLine()) != null){//读取从键盘输入的一行
                dos.writeUTF(line);//发给服务端
                System.out.println("client send msg : " + line);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    //监听服务端回复的消息
    public void listenServerReply(final DataInputStream dis){
        new Thread(){
            @Override
            public void run() {
                super.run();
                String line = null;
                try {
                    while((line = dis.readUTF()) != null){
                        System.out.println("client receive msg from server: " + line);
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }.start();
    }

}

4.先启动客户端再启动服务端就能看见注册中心上的服务显示出来:

至此eureka配置完成!

猜你喜欢

转载自www.cnblogs.com/ztybug/p/9835907.html