8000 doc · mgicode/mgicode-k8s-shell@99e9d6d · GitHub
[go: up one dir, main page]

Skip to content

Commit 99e9d6d

Browse files
committed
doc
1 parent 2b135af commit 99e9d6d

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

doc/01pic/20171122-1423002x.png

300 KB
Loading

doc/01springboot-docker.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
2+
#一、序言
3+
微服务十分流行,基于微服务开发的项目越来越多,如何把开发的微服务部署到服务器上是一个不小的难题。现在有很多解决方案:
4+
##(1) gitlab+jenkens
5+
采用gitlab+jenkens等实现自动编译发布,无论是采用触发式(提交代码、定时)还是手动到jenkens的发布,对于开发者来讲都是不方便,需要部署集成gitlab+jenkens,而且很多时候公司使用的是svn。另外在一般的公司很难保证提交的代码都能运行得起来。我所在的公司大部分情况下自动发布的项目是跑不起来(当然和公司的制度的有关),在我接触的某大型公司中技术负责人讲过,他花了一年时才把提交代码这件 事弄得较顺。所以很多人讲Devops(包括自动发布)看上去很美。
6+
##(2)购买一站式的DEVOPS
7+
该种方式没有什么好讲,只能讲有钱什么事都好解决,这个对于我们这等程序员来讲,不愿接受也不太现实的。
8+
本文给出一种简单的方式,从实际出发,只要通过shell脚本,就可以直接把你开发的微服务发布你需要发布的服务器上。
9+
#二、环境说明
10+
微服务需要大量的组件,如注册中心,api网关,配置中心,监控中心等,对于微服务最简单的环境要求那就是注册中心,所有的服务都依赖于注册中心。下图1给出本次实验的环境。
11+
![logo](../01pic/20171122-1423002x.png)
12+
图1 微服务基本环境说明图
13+
(1) 负载均衡
14+
这里负载均衡主要是用于对于API网关进行服务端的负载处理,当然也可以用来正反向代理,流量统计等。这里本来需要采用VIP作高可用,防单点故障。这里仅仅使用一台,问题也不是很大。
15+
(2) API网关
16+
API网关是自己开发的程序,可以采用spring boot ZUUL等相关API网关。API 网关采用Docker容器进行部署。并把其注册到Consul注册中心。
17+
(3) 微服务
18+
所有的服务都发布在微服务的机器上,采用Docker容器进行部署。
19+
(4) 注册中心Consul
20+
注册中心有很多种,如zookeeper、consul 、etcd、eureka等,这里采用现在很流行的consul
21+
(5) 其它
22+
其它如mongodb、reddis是微服务必要的,但是对于本次实验的作用并不是很大。
23+

0 commit comments

Comments
 (0)
0