微服务与docker

1.微服务

从本质上来说,微服务是一种思想,即把复杂的服务拆分为一个个微小的服务的过程。

关于微服务的介绍,比较权威的思想的说法是ThoughtWorks 公司的首席科学家 Martin Fowler 的一段话:
"In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies."
翻译如下:
“简而言之,微服务体系结构风格是将单个应用程序开发为一套小型服务的方法,每个服务都在自己的流程中运行,并与轻量级机制(通常是HTTP资源API)通信。这些服务是围绕业务能力构建的,可以通过完全自动化的部署机制独立部署。对这些服务的集中管理是最低限度的,可以用不同的编程语言编写,并使用不同的数据存储技术。”

从一定意义上来说,微服务是SOA的扩展,是把更多接口转为服务形式。

2.微服务的特点

微服务具有如下特点:

1)一组小的服务(大小没有特别的标准,只要同一团队的工程师理解服务的标识一致即可)
2)独立的进程(java的tomcat,nodejs等)
3)轻量级的通信(不是soap,是http协议)
4)基于业务能力(类似用户服务,商品服务等等)
5)独立部署(迭代速度快)
6)无集中式管理(无须统一技术栈,可以根据不同的服务或者团队进行灵活选择)

当一个功能过大的时候,微服务的解决思路是:把功能拆分为微服务,而不是让功能增大。

3.微服务的技术选型

微服务的技术选型和特点如下:

4.微服务的实现方式之一:docker

微服务一般通过Docker实现。

Docker本身,属于一个容器,可以隔离出一个虚拟的环境;但Docker不是虚拟机,而只是一个进程,可以方便更灵活实现相应的用法。

5.微服务的优缺点

微服务的优点:

1)拆分与解耦;

2)前后端分离;

3)提供服务,各自服务可以独立发展;

4)不让每个业务过重。

缺点:

1)分布式自身带来的不变管理;

2)依据CAP原理,造成的数据的不统一;

3)分布式之间的通信问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值