一、微服务与SOA

“微服务”是一个名词,没有这个名词之前也有“微服务”,一个朗朗上口的名词能让大家产生一个认知共识,这对推动一个事务的发展挺重要的,不然你叫微服务他叫小服务的大家很难集中到一个点上。

业界对微服务与SOA的区别争论比较多大多都是在微观上对比他们的区别什么微服务粒度更细啊、微服务没有ESB啊、微服务通讯相比SOA采用更轻量级的协议啊等等,但是从微观谈区别本身就有悖论,

这些区别只是微服务的一种”最佳实践“而已。我个人理解微服务与SOA灵魂上的不同是

微服务是互联网时代的产物而SOA是系统集成的产物,微服务是对系统的打散而SOA是对系统的整合。

二、 微服务与SpringCloud

因为SpringCloud的流行很多人就把SpringCloud等同于微服务,这也没有错共识的人多了就是对的。准确点说SpringCloud是适合实现微服务的一套基础框架,SpringCloud有助于讯速的落地微服务架构。SpringCloud是以Java库的形式工作所以它的工作层面是在应用层(研发层)。

SpringCloud通过提供一篮子解决方案来应对微服务中的各种需求和通点,通过Eureka提供服务注册与发现,Ribbon实现客户端的负载均衡,Feign牛逼的将REST变成强类型的接口调用,Config提供方便但不灵活的配置中心,Hystrix提供熔断方案,Zuul提供网关方案等。

优点:

1、提供较全的微服务治理全套解决方案

2、对开发人员友好(对代码侵入强)

缺点:

1、只能java平台技术栈使用,当然提供了SideCar用于集成异构技术但是限制比较大

2、对开发人员友好(对代码侵入强)

三、Kubernetes(k8s)

k8s并不是因为微服务而生而是因为docker而生只是天时地利人和正好赶上了微服务流行的时代,docker的特性正好特别适用于微服务,而k8s进一步对docker方便的编排。 从基础设施方向来讲k8s可以比作是IDC机房和机房工作人员,对物理服务器(docker)的存放与管理,上机架、装系统、接网络等等。 从微服务的角度来讲 ,k8s通过基础设施的方式通过逻辑抽象出service等概念提供了对微服务的另一种实现,就好比用N台电脑联网提供了FTP服务。

优点:

1、在基础层提供了抽象,对代码无侵入

缺点:

1、对微服务治理比较弱,如熔断限流等,当然这也不应该是k8s做的。

四、Istio

Istio的理论概念是Service Mesh(服务网络),我们不必纠结于概念实际也是微服务的一种落地形式有点类似上面的SideCar模式,它的主要思想是关注点分离,即不像SpringCloud一样交给研发来做,也不集成到k8s中产生职责混乱,Istio是通过为服务配 Agent代理来提供服务发现、负截均衡、限流、链路跟踪、鉴权等微服务治理手段。

Istio开始就是与k8s结合设计的,Istio结合k8s可以牛逼的落地微服务架构。

优点:

1、关注点分离,对代码无侵入

2、服务治理相关较全面

缺点:

1、老子学不动了

五、我理想中的微服务架构

springcloud 微服务鉴权_我对微服务、SpringCloud、k8s、Istio的一些杂想相关推荐

  1. BCrypt加密怎么存入数据库_第6天 密码加密与微服务鉴权JWT(下)

    上篇: Gavin:第6天 密码加密与微服务鉴权JWT(上)​zhuanlan.zhihu.com 能够使用BCrypt密码加密算法实现注册与登陆功能 能够说出常见的认证机制 能够说出JWT的组成部分 ...

  2. 密码加密与微服务鉴权JWT

    密码加密与微服务鉴权JWT ## 学习目标 1.用户注册时候,对数据库中用户的密码进行加密存储(使用 SpringSecurity). 2.使用 JWT 鉴权认证. 一.BCrypt 密码加密 任何应 ...

  3. 【Dubbo3高级特性】「提升系统安全性」通过令牌进行服务验证及服务鉴权控制实战指南

    系列文章目录 如果你看到了这里,那么接下来你将会认识Dubbo3的诞生将如何引领微服务领域更进一步,从而迈入云原生的领域,这当然不仅仅是Dubbo3,之前也介绍了Java生态另外一个云原生领域的技术Q ...

  4. 文件服务器鉴权,服务鉴权

    使用kmse实现服务的权限校验 通过一个简单的实例说明开发者如何通过kmse进行服务间的权限校验. 一.准备客户端和服务端两个demo 这里演示如何快速实践服务鉴权功能.假如现在有两个微服务 auth ...

  5. api postmain 鉴权_认证鉴权与API权限控制在微服务架构中的设计与实现(一)

    引言: 本文系<认证鉴权与API权限控制在微服务架构中的设计与实现>系列的第一篇,本系列预计四篇文章讲解微服务下的认证鉴权与API权限控制的实现. 1. 背景 最近在做权限相关服务的开发, ...

  6. springcloud 微服务鉴权_Java微服务框架spring cloud

    Spring Cloud是什么 Spring Boot 让我们从繁琐的配置文件中解脱了出来,而 Spring Cloud,它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发, ...

  7. 泛微Ecology9鉴权API说明

    1.调用OA鉴权接口的过程 用于第三方系统调用OA鉴权接口时做为一个参考 认证流程时序图 第一步.注册许可 说明 请求地址: ​ http://泛微服务地址/api/ec/dev/auth/regis ...

  8. spring gateway 鉴权_通过spring实现service变成controller,代码得到了简化

    在网上发现了一个牛X的思路,在做restful的时候,如果业务改变,需要每次都修改controller,后来方便了,直接透传的方式,其实也比较麻烦,每次都要写controller.需求变了接口也发生了 ...

  9. jt808终端鉴权_驾培协议和jt808协议的区别 | 车载GPS和视频平台产品经理

    交通部颁发的<机动车驾驶员计时培训系统平台技术规范>中的驾培TCP协议和jt808协议虽然很像,但有本质的不同,很多人以为就是部标808协议,这个认识是错误的,驾培协议是驾培协议,jt80 ...

最新文章

  1. 压缩感知(Compressive Sensing)学习之(一)
  2. python下载opencv库_Window系统下Python如何安装OpenCV库
  3. python 归纳 (十二)_并发队列Queue的使用
  4. php基础篇-二维数组排序 array_multisort
  5. assertj断言异常_编写自定义的AssertJ断言
  6. 宏基因组云讲堂今晚8点开讲!第一期由刘永鑫博士主持,特邀袁军副教授分享纯生信发表ISME文章的思路...
  7. 【java】自动写入数据到文件夹中
  8. java--jdk安装教程
  9. 最小生成树算法(Prim和Kruskal)
  10. JDBC03 Statement接口
  11. QT 基础类结构图及核心库
  12. 提交按钮html修改样式,css提交按钮样式
  13. 如何彻底卸载Anaconda?
  14. css3弹性盒子居中总结1
  15. leetcode-881 救生艇
  16. ANSYS workbench 根据坐标施加载荷- external data载荷映射
  17. Duplicate named routes definition:
  18. 网站设计开发的步骤和方法!
  19. DataBase First 基础(四) 删除或修改表时失败,因为相同类型的其他实体已具有相同的主键值***
  20. Android9.0 Charles 模拟器抓包

热门文章

  1. 第15章 进程间通行 15.6 XSI IPC 15.7 消息队列
  2. ActiveMQ入门教程(三) - ActiveMQ P2P版的HelloWorld
  3. EditText 中文文档
  4. 服务器标记“asp:ScriptManager”不明确。
  5. IHttpModule.Init方法被执行多次的原因
  6. 【原译】在amazon kindle上安装Metasploit
  7. linux expect 自动交互 执行命令 超时 不完整 中断 解决方法
  8. linux wifi 报错 siocsifflags: operation not possible due to rf-kill
  9. linux ssh 隧道 tunnel 一般场景用法
  10. redis 多数据库 database配置项解析