一、微服务
各服务间隔离,自治、单一职责,异步通信、独立部署,基于http+restful+json传输。
二、springCloud
提供了快速构建分布式系统的一些工具,包括:配置管理,服务发现,短路器、路由,负载均衡,微代理,事件总线,全局锁,决策竞选,分布式会话等。springcloud是基于psringBoot的。
三、eureka
由两个组件组成:eureka服务器和eureka客户端。
eureka服务器作为服务注册服务器。
eureka客服端:一个java客户端,简化与服务器的交互、作为轮询负载均衡器,并提供服务的故障切换支持。
三、实现代码
1、目录
2、EurekaApp.java
package com.aeolusway;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@SpringBootApplication
@EnableEurekaServer
public class EurekaApp {
public static void main(String[] args) {
SpringApplication.run(EurekaApp.class, args);
}
}
3、application.yml
server:
port: 8888
eureka:
instance:
hostname: localhost
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
4、pom.xml
<?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.aeolusway</groupId>
<artifactId>SpringClou-eureka-server</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>SpringClou-eureka-server</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.5.RELEASE</version>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring-cloud.version>Finchley.SR1</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</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>
</project>
四、测试
访问:
http://127.0.0.1:8888/
显示下面这个网页即成功
五、总结:
搭建的时候遇见各种问题,maven 版本太低,pom引入jar版本冲突,找不到main主类,或者找不到一些jar包等等,一步解决:新建一个maven库(或者把maven库清空重新拉取资源:C:\Users\...\.m2\repository),重新加载jar包,
新建一个默认的maven库:https://www.cnblogs.com/mswangblog/p/6604592.html
然后,update project 或者对项目clean,然后运行。
(右键项目名—>maven—>update project;选中项目—>project(顶部菜单栏)—>clean)