美文网首页
【SpringCloud笔记一】微服务的定义

【SpringCloud笔记一】微服务的定义

作者: codingJanson | 来源:发表于2018-11-15 12:31 被阅读0次

一、微服务是一种架构风格

        千万不要以为微服务就是某些组件,某些框架,它其实是一种架构风格,比如我们熟悉的Restful。既然是架构风格,说明它没有强制性,没有绝对标准的答案,细节上可能会有很多不同的理解,我们可以看看作者马丁大叔对于微服务的理解。

二、微服务的特点

1、一系列微小的服务共同组成

     微服务,也就是微小的服务,一系列,对应的就是传统的单体服务。

2、跑在各自的进程里

     任何一个微服务,都有自己独立的进程,互不干扰。

3、每个服务作为独立的业务开发

     微服务要围绕业务,围绕领域模型去构建。

4、独立的进行部署

5、分布式的管理

     相对于以前的集中式管理。

三、单体架构应用的特点

1、所有的功能打包在一个war包里,基本没有外部依赖。

2、部署在一个web容器里,包含了dao,service等。

3、共用一个DB。

四、单体架构的优缺点

4.1、优点

1、容易测试

2、 容易部署

4.2、缺点

1、开发效率低

2、代码维护难:所有代码放到一起,如果来新同事会很难理解。

3、部署不灵活:构建时间太长。

4、稳定性不高

5、扩展性不够

5、简单的微服务架构

6、微服务架构的基础组件

6.1 服务注册与发现

    在微服务内部,服务注册之后,才能被其他服务发现及调用。

6.2 服务网关(Service Gateway)

连接内外的大门。外界访问服务。如手机、浏览器。

1、服务网关会对外屏蔽后台服务的细节。

2、可以将外部请求反向路由到服务器。

3、限流与容错:因为所有的请求都会经过网关,可以在这控制流量。

4、监控和日志。

5、用户认证,授权,反爬虫。

6.3、后端通用服务(中间层服务Middle Tier Service)

    后端服务启动的时候会将地址信息注册到注册表里

6.4、前端服务(边缘服务Edge Service)

    前端服务可以通过查询注册表调用后端服务。可以将后端服务通过聚合或者裁剪后暴露给外部不同的设备。

聚合:对多个api调用逻辑进行聚合,从而减少客户端的请求数,合二为一。

裁剪:对返回内容针对不同的需求进行裁剪。

7、Spring Cloud是什么?

Spring Cloud是一个开发工具集,简化了分布式开发,其包含多个子项目

1、利用Spring boot的开发便利

2、基于对Netflix开源组件的进一步封装

相关文章

网友评论

      本文标题:【SpringCloud笔记一】微服务的定义

      本文链接:https://www.haomeiwen.com/subject/nsyefqtx.html