体验了一天 SpringCloud 后发现,人们所讲的微服务架构不是一门技术,而是一种风格。 感觉确实可以这么认同,因为一套 SpringCloud 玩下来(未深入、未完整「链路追踪、动态刷新配置……等等还待后续体验」),发现全部是安装各种服务,大有以前玩lamp时的感觉,一会儿装PHP,一会儿装Apache,一会儿装MySQL,整个lamp配置完发现没有写一行代码。

使用 SpringCloud 很简单, 如何使用好不简单。

这里就讲讲如何简单配置就能使用 SpringCloud

API网关、负载均衡、流量限制、权限控制、高可用、配置中心、服务注册、服务发现、断路器、智能路由、服务间调用、服务降级、服务熔断机制……这些看着很互联网的词语,一步一步的揭开神秘的面纱

画了一个自己理解的(不专业) 简单 的电商系统的 微服务架构

SpringCloud初体验:前言-LMLPHP

所有服务/应用使用的是:

1、Maven 环境下 的 Java 项目 Spring Boot 2.0.4 版本

2、SpringCloud 的版本是 Finchley.RELEASE

<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Finchley.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

本次初体验根据最后 Eureka 注册中心那张图 注册的服务大概能看出来

一、服务的注册与发现(基础服务)
  EUREKA-SERVER  

二、统一配置管理中心(基础服务)

CONFIG-SERVER

三、服务间调用、负载均衡、容错处理

  USER

  PUBLISH  

四、API网关的实现(基础服务)

  GATEWAY-SERVER

五、服务跟踪(基础服务)

  记录这篇文章时,暂时服务链路跟踪未做(TODO)

上面五点除了第三点我把它们全部用 「基础服务」标注了,因为我觉得这些已经脱离了业务逻辑可以独立存在了

我配置时是以一个信息发布平台作为需求方的,平台的服务有拆成了2块 用户服务(USER) 和 发布服务(PUBLISH),这两块才是实际开发过程中最需要码代码的,其它的基础服务都是服务于这两个服务的

下面列出了本次所有工程目录大纲

SpringCloud初体验:前言-LMLPHP

SpringCloud初体验:前言-LMLPHP

05-11 18:21