Spring Cloud 组件搭建(一)Eureka服务发现
2017-03-22 22:25
671 查看
Spring Cloud生态圈目前有21个子项目来共同构建,解决了目前微服务系统的很多问题,废话不多说,直接上其最普通简单的Eureka服务发现与注册中心搭建过程。本系列教材依照1.3.5.RELEASE版本,该版本比较稳定,JDK要求1.7以上。
1、micro-service父工程pom.xml:
注意:micro-service是一个pom工程,搭建的时候不要建错了。
2、eureka-server工程:pom.xml
注意,建立eureka工程的时候记得依赖于建立的micro-service工程,打包方式jar和war皆可。
3、启动主类:EurekaServer.java
4、配置文件:application.properties
注意:放在resources文件夹下
5、日志打印配置:logback.xml
注意:也放在resources文件夹下,最后一段可以调整输出级别,INFO、DEBUG、WARN、ERROR皆可,注释下面
6、整合工程结构:
搭建好了,启动主类,在浏览器输入:
代码托管于github:https://github.com/Lovnx/micro-service
1、micro-service父工程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.lovnx</groupId> <artifactId>micro-service</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>pom</packaging> <modules> <module>eureka-sever</module> </modules> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.3.5.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Brixton.RELEASE</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>
注意:micro-service是一个pom工程,搭建的时候不要建错了。
2、eureka-server工程:pom.xml
<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> <parent> <groupId>com.lovnx</groupId> <artifactId>micro-service</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <artifactId>eureka-sever</artifactId> <packaging>jar</packaging> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.7</java.version> </properties> <dependencies> <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-eureka-server</artifactId> </dependency> </dependencies> </project>
注意,建立eureka工程的时候记得依赖于建立的micro-service工程,打包方式jar和war皆可。
3、启动主类:EurekaServer.java
package com.lovnx; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @EnableEurekaServer @SpringBootApplication public class EurekaServer { public static void main(String[] args) { SpringApplication.run(EurekaServer.class, args); } }
4、配置文件:application.properties
spring.application.name=eureka-server server.port=7070 #eureka.instance.hostname=localhost eureka.client.register-with-eureka=false eureka.client.fetch-registry=false eureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka/
注意:放在resources文件夹下
5、日志打印配置:logback.xml
<?xml version="1.0" encoding="UTF-8"?> <!-- Logback configuration. See http://logback.qos.ch/manual/index.html --> <configuration scan="true" scanPeriod="10 seconds"> <!--<include resource="org/springframework/boot/logging/logback/base.xml" />--> <!--定义日志文件的存储地址和前缀名--> <property name="LOG_HOME" value="F:/logs" /> <property name="LOG_PREFIX" value="micro-eureka-server" /> <!-- 一般信息按照每天生成日志文件 --> <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <File>${LOG_HOME}/${LOG_PREFIX}-info.log</File> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <!-- 每天一归档 --> <fileNamePattern>${LOG_HOME}/${LOG_PREFIX}-info-%d{yyyyMMdd}.log.%i</fileNamePattern> <!-- 单个日志文件最多500MB, 30天的日志周期,最大不能超过20GB --> <maxFileSize>100MB</maxFileSize> <maxHistory>30</maxHistory> <totalSizeCap>20GB</totalSizeCap> </rollingPolicy> <encoder> <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--> <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n</Pattern> </encoder> </appender> <!--错误信息按照每天生成日志文件--> <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>ERROR</level> </filter> <File>${LOG_HOME}/${LOG_PREFIX}-error.log</File> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <!-- 每天一归档 --> <fileNamePattern>${LOG_HOME}/${LOG_PREFIX}-error-%d{yyyyMMdd}.log.%i</fileNamePattern> <!-- 单个日志文件最多500MB, 30天的日志周期,最大不能超过20GB --> <maxFileSize>100MB</maxFileSize> <maxHistory>30</maxHistory> <totalSizeCap>20GB</totalSizeCap> </rollingPolicy> <encoder> <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--> <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n</Pattern> </encoder> </appender> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> </encoder> </appender> <!-- 日志输出级别 --> <root level="INFO"> <!-- <appender-ref ref="STDOUT" /> --> <appender-ref ref="INFO_FILE" /> <appender-ref ref="ERROR_FILE" /> </root> </configuration>
注意:也放在resources文件夹下,最后一段可以调整输出级别,INFO、DEBUG、WARN、ERROR皆可,注释下面
<appender-ref ref="STDOUT" />则不打印日志。
6、整合工程结构:
搭建好了,启动主类,在浏览器输入:
http://localhost:7070出现以下页面就成功了:
代码托管于github:https://github.com/Lovnx/micro-service
相关文章推荐
- SpringCloud构建微服务入门架构(二)服务注册与发现Eureka集群搭建
- SpringCloud(三):服务发现组件Eureka
- Spring Cloud Netflix Eureka组件服务注册及发现源码浅析
- SpringCloud 服务发现组件 Eureka的初步学习
- SpringCloud 服务发现组件 Eureka
- springcloud微服务三:Eureka服务治理之注册服务提供者及服务的发现和消费
- springcloud(第一篇)springcloud eureka 服务注册与发现
- Spring-cloud & Netflix 源码解析:Eureka 服务注册发现接口 ****
- Spring-cloud & Netflix 源码解析:Eureka 服务注册发现接口 ****
- Spring Cloud Eureka服务注册与发现
- 《Spring Cloud Netflix》-- 服务注册和服务发现-Eureka的服务认证和集群
- Spring Cloud Eureka--服务发现
- Spring cloud Eureka服务注册及发现(一)创建Eurake服务器
- Spring cloud Eureka服务注册及发现(二)创建注册服务
- springcloud(第三篇)springcloud eureka 服务注册与发现 *****
- 服务注册发现Eureka之三:Spring Cloud Ribbon实现客户端负载均衡(客户端负载均衡Ribbon之三:使用Ribbon实现客户端的均衡负载)
- SpringCloud服务发现(Eureka)简介
- springcloud(第三篇)springcloud eureka 服务注册与发现
- 服务注册发现Eureka之一:Spring Cloud Eureka的服务注册与发现
- Spring Cloud搭建微服务架构----服务注册与发现