Skip to content

Commit e8ed511

Browse files
author
Songyu
committed
新增文章,从零开始微服务
1 parent 1ce47de commit e8ed511

13 files changed

+95
-0
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
layout: post
3+
title: "从零开始微服务(一)技术选择"
4+
date: 2021-10-12 10:05:38 +0800
5+
tags: java
6+
description:
7+
---
8+
9+
从转了Java就听说微服务,但是项目中大部分都是单应用的项目,springMVC和springboot倒是用了不少,也积累了一些经验吧。这回终于有机会接触到了微服务。
10+
![](/images/2021-10-12-1.jpeg)
11+
12+
在正式搭建项目之前,也阅读了很多的文章,对大体的技术流程也有了一些了解。对于技术选型也做了一些讨论决定使用以下技术作为架构搭建
13+
14+
|基础架构|spring cloud alibaba|
15+
|注册中心|nacos|
16+
|配置中心|nacos|
17+
|熔断、降级|sentinel|
18+
|网关|spring cloud getaway|
19+
|认证、鉴权|spring security|
20+
|链路追踪|zipkin|
21+
22+
具体对选型原因做一些记录吧
23+
24+
### eureka 与 nacos
25+
26+
eureka界面简介明了,同时也支持集群,接入也很简单。但是官方已经不在继续维护和更新;nacos由alibaba开源,目前还在稳定更新和迭代,配合spring cloud alibaba也非常便捷。虽然eureka已经不再更新,但是现用的功能已经足够使用,为了后续迭代考虑,选择了nacos
27+
28+
### spring cloud config 与 nacos
29+
30+
spring cloud config作为配置中心,可以将本地指定目录下或者git远程仓库中的文件,统一更新到客户端中,在配置上也不是很复杂;但是,nacos在作为注册中心的同时还可以作为配置中心,而且可以直接在线编辑配置文件并完成更新,比config更加方便。
31+
32+
### Hystrix 与 sentinel
33+
34+
Hystrix作为熔断降级保护机制来说,引入简单,使用方便,直接实现对应接口创建工厂类,在@OpenFeign注解中增加当前类就可以实现降级功能,但是跟eureka一样,官方同样不再进行后续维护和更新;sentinel同样由alibaba开源,自带一套可视化的配置监控界面,可以配合nacos实现降级规则的在线配置,同样,sentinel也在稳定的更新和迭代。
35+
36+
### spring cloud 与 spring cloud alibaba
37+
38+
spring cloud alibaba也是在spring cloud的基础上,加入了一些组件和进行了一些修改,由于我们在注册中心、熔断降级的时候使用的alibaba的组件,而spring cloud alibaba中又对这些组件进行了适配,所以就很自然的选择了spring cloud alibaba。
39+
40+
注:使用Idea来创建spring cloud alibaba时,需要下载对应的插件
41+
42+
技术栈确定之后,下一步就是搭建了。为了方便,按照应用服务---->注册中心---->网关---->链路追踪---->熔断降级这个顺序进行搭建过程的记录
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
---
2+
layout: post
3+
title: "从零开始微服务(二)应用创建"
4+
date: 2021-10-12 13:46:57 +0800
5+
tags: java
6+
description:
7+
---
8+
9+
微服务是由多个应用组成的,那么可以理解微服务得最小单元就是应用了,先从创建应用开始。创建一个spring cloud alibaba项目跟创建spring boot项目的流程几乎没有区别。
10+
11+
12+
### 创建spring cloud alibaba
13+
14+
选择spring cloud alibaba插件进行项目创建
15+
![](/images/2021-10-12-2.jpg)
16+
17+
自定义包名和路径
18+
![](/images/2021-10-12-3.jpg)
19+
20+
21+
选择需要引入的组件,不选择后期仍可以通过pom.xml文件进行引入
22+
![](/images/2021-10-12-4.jpg)
23+
24+
等待maven初始化项目,目录跟spring boot可以说基本是一样的
25+
![](/images/2021-10-12-5.jpg)
26+
27+
### 创建消费者应用consumer
28+
29+
在项目中点击右键,创建一个新的模块,剩下的操作跟上面创建项目是一样的
30+
![](/images/2021-10-12-6.jpg)
31+
32+
创建好之后,目录中会多了一个模块,如下图,consumer1就是我们创建的**消费者应用1**
33+
![](/images/2021-10-12-7.jpg)
34+
35+
进入配置文件修改端口应用名等信息,完成应用创建,并启动进行测试
36+
![](/images/2021-10-12-8.jpg)
37+
38+
![](/images/2021-10-12-9.jpg)
39+
40+
![](/images/2021-10-12-10.jpg)
41+
42+
可以看出与单独创建spring boot应用没有任何区别
43+
44+
再按照步骤创建另一个**消费者应用2**
45+
46+
完成应用创建
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
layout: post
3+
title: "从零开始微服务(二)nacos注册中心搭建"
4+
date: 2021-10-13 09:38:33 +0800
5+
tags:
6+
description:
7+
---

images/2021-10-12-1.jpeg

36.6 KB
Loading

images/2021-10-12-10.jpg

9.02 KB
Loading

images/2021-10-12-2.jpg

31 KB
Loading

images/2021-10-12-3.jpg

22 KB
Loading

images/2021-10-12-4.jpg

44.4 KB
Loading

images/2021-10-12-5.jpg

90.1 KB
Loading

images/2021-10-12-6.jpg

83 KB
Loading

0 commit comments

Comments
 (0)