博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringCloud_微服务概述
阅读量:6368 次
发布时间:2019-06-23

本文共 1917 字,大约阅读时间需要 6 分钟。

一:什么是微服务

1、马丁福勒博客:https://martinfowler.com/articles/microservices.html

2、用来描述将软件应用程序设计为独立可部署服务套件的特定方法。虽然这种体系结构风格没有精确的定义,但是围绕着业务能力、自动部署、端点中的智能以及语言和数据的分散控制,围绕着组织有一些共同的特征

3、简而言之架构风格是一种将单个应用程序开发为一组小服务的方法,每个服务运行在自己的流程中,并且与轻量级机制(通常是HTTP资源API)通信。这些服务是围绕业务能力建立的,并且可以由完全自动化的部署机器独立部署。这些服务的集中管理只有最低限度,可以用不同的编程语言编写并使用不同的数据存储技术。

单个应用程序开发为一组小服务的方法

SpringCloud_微服务概述

服务的集中管理只有最低限度

SpringCloud_微服务概述

1、从技术角度理解

1、微服务就是将传统的一站式项目应用,来根据业务进行拆分成一个一个的服务,从而彻底的去掉耦合

2、那么每个微服务提供了单个业务功能的服务,说白就是一个服务一个事件

也就一个独立的处理过程,类似进程的概念,能够独立运行和销毁,甚至拥有自己的数据库

3、如下单就是下单,支付就是支付

二:微服务与微服务架构

1、微服务:

1、强调的是服务的大小,关注的是某一个点,具体解决某个一个问题/落地的对应服务的一个服务应用.

2、如同医院中的眼科只做眼科的事,化验科只做化验科的事,换句话说,专业的事交给专业的来做

2、微服务架构:

1、微服务架构是一种架构模式,他提倡将单位一应用程序划分成一组小的服务,服务之间互相协调,互相配合,为用户提供最终价值.

2、每个服务运行在一个独立的进程中,服务与服务间采用轻量级的通信机制互相协作(通常是基于HTTP协议的RESTful API的风格)。

3、每个服务都是围绕着具体业务进行构建,并且能够被独立的部署到生成环境、类生产环境等。

4、另外应当尽量避免统一的集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言,工具对其进行构建。

5、换句话说,比如医院中眼科/化验科/等就一个小的服务,而对外提供一个大的服务就是医院

二:微服务优点与缺点

1、优点

1、每个服务足够内聚,够小,代码容易理解这样能够明确的指定一个业务功能或者是业务需求

2、一个微服务开发简单,开发效率高,因为一个微服务就是专一的只做一个事情

3、能够被小团队进行独立的开发

4、微服务是松偶合的,是有功能意义的服务,无论是开发阶段或者是在部署阶段都是独立的。

5、微服务可以使用不同的语言进行开发。

6、容易与第三方的技术进行集成,允许容易灵活的方式集成自动部署,通过持续集成工具进行集成如Jenkins Hudson 等...

7、微服务容易让开发人员理解,修改访问维护

8、微服务允许利用融合新的技术

9、微服务只专注业务逻辑的代码,不会和HTML/CSS等前台技术以及组件混合

如平常开发中的两种模式:

一种模式:

前后的分离模式

程序员只是专注后端的代码,和前端工程师安装约定的Rest地址+输入的参数格式+输出的参数格式、如$.post(rest,jsonDate,callBack)

二种模式:

全栈开发

H5+CSS+JAVAEE.....

10、每个微服务都有直接的存储的能力,可以拥有自己的数据库,也可以用拥有同一个数据库

2、缺点

1、开发人员要处理分布式系统的复杂性

2、多服务运维难度加大

3、系统部署依懒

4、服务器之间的通信成本加大

5、数据的一致性

6、系统的集成测试难度加大

7、性能的监控难度加大

三:微服务技术栈

1、就是多种技术的集合体

1、之前分布式架构使用的技术服务

1、服务治理(如阿里巴巴的Dubbo)

2、服务的注册(如Apache_ZooKeeper)

3、服务的调用

4、服务的负载均衡_(Jenkins)

5、服务的监控

.........

6、如都是不同的公司的不同的技术

那么可不可以使用同一家个公司的技术来完成?可以使用SpringCloud

2、微服务技术

SpringCloud_微服务概述

四:微为什么选择SpringCloud作为微服务技术架构

1、选择依据

1、整体解决方法和框架的熟悉度

2、社区的热度

3、可维护性

4、学习的路线

2、目前公司微服务技术架构

1、阿里的Dubbo/HSF(分部式高速框架可理解二代Dubbo)俗称:好舒服

2、京东的JSF俗称:惊舒服

3、新浪微博Motan俗称:茅台

4、当当网Dubbox

3、各各微服务技术的对比

筛选微服务的条件

1、看看是否满足微服务

2、如何满足(是否可以自理更生)

3、借用第三方的技术

SpringCloud_微服务概述

SpringCloud_微服务概述

转载地址:http://sdrma.baihongyu.com/

你可能感兴趣的文章
5.java String对象
查看>>
基于 less,sass,stylus三种预处理rem
查看>>
微信棋牌游戏域名防封最新解决方案
查看>>
第十八天-企业应用架构模式-基本模式
查看>>
Promise加载图片用法详解
查看>>
《CSS设计指南》读书笔记
查看>>
win10初始化mysql5.7.24
查看>>
Windows 下安装 SCWS
查看>>
每日两道前端面试题
查看>>
什么是产品Backlog修饰 (Backlog Grooming)?
查看>>
Java反射的基本使用
查看>>
破坏程序员生产力的 12 件事
查看>>
什么是SOLID原则(第1部分)
查看>>
动态规划 python 挖矿问题
查看>>
Angular material中自定义分页信息
查看>>
iOS马甲包过审技巧汇总
查看>>
HTTP--http之Nginx缓存(九)
查看>>
通过几个栗子认识 PHP 闭包
查看>>
eclipse编译项目的时候报某类找不到符号
查看>>
React16.3.0以后的生命周期(二) - 更新、卸载、异常
查看>>