Spring Cloud 组件搭建(一)Eureka服务发现
来源:互联网 发布:电视阿里云系统好不好 编辑:程序博客网 时间:2024/06/05 02:12
Spring Cloud生态圈目前有21个子项目来共同构建,解决了目前微服务系统的很多问题,废话不多说,直接上其最普通简单的Eureka服务发现与注册中心搭建过程。本系列教材依照1.3.5.RELEASE版本,该版本比较稳定,JDK要求1.7以上。
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@SpringBootApplicationpublic class EurekaServer { public static void main(String[] args) { SpringApplication.run(EurekaServer.class, args); }}
4、配置文件:application.properties
spring.application.name=eureka-serverserver.port=7070#eureka.instance.hostname=localhosteureka.client.register-with-eureka=falseeureka.client.fetch-registry=falseeureka.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
0 0
- Spring Cloud 组件搭建(一)Eureka服务发现
- Spring Cloud Eureka 服务注册与发现中心(一)
- Spring Cloud学习--服务发现(Eureka)
- spring cloud:eureka服务发现
- Spring Cloud Eureka--服务发现
- Spring Cloud(一)服务的注册与发现(Eureka)
- Spring cloud Eureka服务注册及发现(一)创建Eurake服务器
- Spring Cloud学习---服务注册与发现(Eureka)
- Spring Cloud | 第一篇:服务注册与发现(Eureka)
- spring cloud服务的注册与发现(Eureka)
- spring cloud服务发现之Eureka
- spring cloud eureka服务发现(高可用)
- spring cloud eureka服务发现(高可用)
- Spring-Cloud 服务注册与发现 Eureka
- Spring Cloud Eureka服务注册与发现
- Spring Cloud Eureka 服务注册与发现
- 03.Spring Cloud学习笔记之服务注册与服务发现组件Eureka
- Spring cloud Eureka服务注册及发现(三)发现使用服务
- mac+homebrew+nvm+node+npm+webstorm+babel开发环境搭建
- c++五大存储区
- R语言读取Excel的神器——openxlsx
- 电脑的linux操作系统和windows有什么区别?
- could not find com.android.tools.build:gradle:2.2.3
- Spring Cloud 组件搭建(一)Eureka服务发现
- 模拟留言本————代码实现
- Python之字符串
- 226. Invert Binary Tree
- 基于Netty5.0高级案例之请求响应同步通信
- linux20基本命令
- 关系型数据库三范式
- Python中类的方法属性与方法属性的动态绑定
- vs 调试的时候提示和源码对应不上,断点不起作用