SpringCloud理解

微服务的理解

微服务:

维基百科中是这么定义的:微服务 (Microservices) 是一种软件架构风格,它是以专注于单一责任与功能的小型功能区块 (Small Building Blocks) 为基础,利用模组化的方式组合出复杂的大型应用程序,各功能区块使用与语言无关 (Language-Independent/Language agnostic) 的 API 集相互通讯。

SOA

维基百科中是这么定义的:面向服务的体系结构(英语:service-oriented architecture)并不特指一种技术,而是一种分布式运算的软件设计方法。软件的部分组件(调用者),可以通过网络上的通用协议调用另一个应用软件组件运行、运作,让调用者获得服务。

Spring boot

Spring Boot是由Pivotal团队提供的全新框架设计方式,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。它使用“习惯优于配置”的理念让你的项目快速运行起来。因此Spring Boot并不能说是一个框架,而是一个集合或者工具。

spring cloud

Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。

docker

维基百科中是这么定义的:Docker是一个开放源代码软件项目,让应用程序布署在软件容器下的工作可以自动化进行,借此在Linux操作系统上,提供一个额外的软件抽象层,以及操作系统层虚拟化的自动管理机制[1]。Docker利用Linux核心中的资源分脱机制,例如cgroups,以及Linux核心名字空间(name space),来创建独立的软件容器(containers)。这可以在单一Linux实体下运作,避免引导一个虚拟机造成的额外负担。

结论

1.微服务并不是一个全新的框架,是一种软件架构设计风格。

2.微服务也属于SOA,只是与传统的SOA存在着一些差别。微服务可以看作是SOA概念的升华,微服务中对于业务拆分更加细粒度,微服务更倾向于去中心化,去ESB总线。

3.Spring Boot和SpringCloud组合,是开发微服务的一个黄金组合套装。单并不是说这两个东西才是微服务,只是我们更习惯用这两个套件来进行开发,我们也一样可以使用其他工具来开发微服务。

4.Docker是一种容器,基于LXC实现的。Docker的抽象性和隔离性非常适合部署微服务。但也并不是说只有Docker才是微服务或者只有Docker才能部署微服务。我们使用VM,甚至物理机一样可以部署微服务,只是从量级以及编排部署等方面考虑,使用Docker容器更容器部署和管理微服务。

一个服务架构图

服务治理

服务化

分布式架构即服务化。服务化主要有如下特点:

1.应用按业务拆分成服务

2.各个服务均可独立部署

3.服务可被多个应用共享

4.服务之间可以通信

服务化实现方式

如果要实现服务化的话,最常用的方式就是利用RPC框架。因为服务组件一般分布在不同的服务器上,所以要实现服务化需要解决的第一个问题就是RPC远程服务调用。类似于RPC方案有很多,比如:

Java RMI

WebService

Hessian

Http

Thrift

… …

转载于:https://my.oschina.net/u/2344382/blog/1833856

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值