微服务随想

题记:

不要为了用某项技术而用,先找到用它的理由。


微服务挺热门,在有些场合下好像如果一个程序员不知道微服务,会很low。其实不然。

先看几个概念。

集群:相同应用部署在不同的机器上。

分布式:将相同的应用拆分,在不同的机器上部署不同的应用。同时里面也有双机应用集群保证一定高可用

微服务:将服务更小化拆分(即按业务拆分,比分布式更细化)。

由此

我们可以看到微服务在开发层面,运维层面都会有一些改变。主要表现在:

1、服务多了,如何部署。

2、服务多了,如何调用。

3、服务多了,如何记录日志。

等等。

有如下前提认识:

a.网络是不可靠的。b.一个容器或虚拟机应该只运行一个服务。

基于以上一些前提

一个微服务系统需要实现如下一些或者功能:

a.A服务调用B服务通过http协议,必须要有调度重试B服务的任意一台机器。即客户端负载。

b.由UAT(预生产环境)到生成环境的尽可能少的代码改变。即配置文件的中心化管理。自动化更新配置。

c.路由或网关的作用。

d.路由拓扑图。即每一个请求到转变为response返回的整个生命路径。目的:方便开发、调试。

e.集群服务状态检查。自动踢掉不能访问的接口。

f.最好还有自动化重载代码。


spring cloud 的相应组件包括ribbon,config-server,zureka都是为了完成服务”治理“而编写的spring-boot技术基础的代码。

你可能感兴趣的:(微服务随想)