SpringCloud配置中心的使用

在实际的开发过程中,很可能会涉及到很多的开发环境,常见的例如 dev , product 等,在使用SpringCloud的时候可以通过配置中心微服务,结合 Git 管理工具实现配置的集中式管理。

配置中心

config配置中心的yml文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
spring:
application:
name: sc-config
cloud:
config:
server:
git:
uri: ${GitAddress:https://gitee.com/somersames/spring-cloud-demo-config}
search-paths: ${GitPath:dev}
eureka:
client:
service-url:
defaultZone: http://${EurekaHost:localhost}:${EurekaPort:8081}/eureka/
server:
port: 8888

这里的 ${A:B} 配置表示的是如果 A 获取不到就取 B 的值。
search-paths 则是代表从哪个文件夹中获取配置文件,可以使用 , 来进行分割。
然后在启动类中添加如下几个注解,一个配置中心的微服务便开启了。

阅读更多

Spring Cloud的Zuul相关总结

Zuul是SpringCloud生态体系中的网关一环,首先简单配置如下:
开启注册中心并且配置yml文件,如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
spring:
application:
name: somersames-erueka

server:
port: 8081

eureka:
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://localhost:8081/eureka/

开启用户的微服务:

1
2
3
4
5
6
7
8
9
spring:
application:
name: somersames-user
server:
port: 8082
eureka:
client:
service-url:
defaultZone: http://localhost:8081/eureka

编写一个测试的Controller:

阅读更多

Spring Cloud使用ELK日志记录(四)

在ELK的使用过程中,遇到了一点困难, 所以正好写这一篇文章来记录下:

问题一:logstash连接elasticsearch报错

这个问题在这边是由于logstash连接报错,查看了下错误日志发现是由于解析模板出错,后来改了下之后便可以连接了

问题二:kibama可以连接上elasticsearch但是一直读取不了数据

"Couldn't find any Elasticsearch dataYou'll need to index some data into Elasticsearch before you can create an index pattern "
这个问题出现的原因比较复杂,需要仔细排除,不过当出现这个问题的时候可以先看下Elasticsearch 是否含有数据,若是没有数据则添加数据即可。http://localhost:9200/_cat/indices。当这一步没问题了以后,若发现kibana还是无法显示数据则可以在kibana的DevTool里面直接模拟数据。如下:

阅读更多

springcloud的其他组件使用记录之Config(四)

在使用Spring Config的时候遇到一些坑,在这里记录下,顺便梳理下这个使用。

Spring Cloud Config

使用Spring Config来配合git做一个配置文件管理,需要一个Config的服务端和一个Config的客户端,服务端主要是和git仓库进行一个连接,而config的客户端是连接服务端来刷新配置服务的。
在Spring Cloud Config里面客户端需要使用Spring4.0出现的一个注解@Value配合一起使用

Spring Config服务端

需要引入一下几个文件:

阅读更多

springcloud的服务注册与负载均衡

在springcloud中,服务注册和负载均衡分别是eureka和ribbon。其中eureka是一个服务注册组件,ribbon则是一个负载均衡组件。如果开启了hystrix之后ribbon就默认已经开启了。

Eureka

在使用Eureka的时候服务端开启之后直接在客户端的application.yml中加入如下代码即可:

1
2
3
4
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8083/eureka/

其中defaultZone代表的是服务端的地址,开启服务之后在eureka的服务面板便会看到这个注册信息。如果需要在这个客户端中加入一些元数据的话可以加入如下配置:

阅读更多

SpringCloud初步配置之起步

spring cloud是一个微服务治理框架,主要解决的是以前单应用过于臃肿的一些难点,在这里记录下初次使用springcloud的一些过程

创建一个springboot应用

在这里使用的是IDEA的spring Initializr创建的,创建好了之后将application.properties改成application.yml,其项目结构图如下:

在这里需要注意的是由于在这里的Test文件中含有一个@RunWith注解,所以需要在pom.xml中引入springboot的test包,否则项目可能启动不起来

引入spring cloud包

阅读更多