微服務
ColorPaper
游侠
展开
-
dubbo 支持的9种协议
一、9种协议 1、dubbo 协议 (默认) 2、rmi 协议 3、hessian 协议 4、http 协议 5、webservice 协议 6、thrift 协议 7、memcached 协议 8、redis 协议 9、rest ( 就是 RestFull) 二、多协议配置 不同服务使用不同协议 同时使用多种协议 三、面试题:Dubbo支持dubbo、rmi、hessian、http、webservice、thrift、redis等多种协.转载 2020-11-26 14:42:05 · 169 阅读 · 0 评论 -
Dubbo与Spring Cloud的区别
这是个老生常谈的问题,每个技术团队在业务转型微服务化架构的时候都会纠结过这个选型问题。首先,dubbo 之前确实在 2012 年的时候发布了最后一个版本 2.5.3 并且停止维护更新,在2017年的时候又”起死回生“,官方宣布重启更新,并重点投入开源建设;终于在 2017 年 9 月,新发布了 2.5.4 版本,这中间"沉寂"的 5 年的时间究竟是出于什么原因,我们无需关注,幸运的是,Dubbo 于 2018 年 2 月通过投票进入 Apacha 基金会孵化器,并且宣布框架不再仅局限于 java ...转载 2020-11-26 14:36:37 · 3239 阅读 · 0 评论 -
Feign+Ribbon、Dubbo、gRPC的选型对比
1.场景在微服务开发中,在调用不同模块之间的数据时,经常回去调用他的http接口,总不能这样,RPC框架,服务在代码里就调用一个interface的接口,底层直接让RPC框架发送请求到对应的服务器上去2. feign+ribbonimage.pngspring cloud netflix技术栈,RPC调用,用的就是feign框架+ribbon做负载均衡,暴露出来的服务接口,就是最最稀松平常的基于spring mvc写的controller暴露出来的一些http接口,定义一个http的ur转载 2020-11-26 14:25:29 · 2025 阅读 · 0 评论 -
在 Dubbo 中使用 REST
什么是 RESTREST 是 Roy Thomas Fielding[1]在 2000 年他的博士论文[2]“架构风格以及基于网络的软件架构设计” 中提出来的一个概念。REST 是REpresentationalStateTransfer 的缩写,翻译过来就是 “表现层状态转化”。REST 就是 Roy 在这篇论文中提出的面向互联网的软件所应当具备的架构风格。按照 REpresentational State Transfer 的字面意思,可以把应用看成是一个虚拟的状态机,软件提供的不...转载 2020-11-26 14:17:19 · 1545 阅读 · 0 评论 -
细谈RocketMQ的消费模式
首先明确一点,RocketMQ 是基于发布订阅模型的消息中间件。所谓的发布订阅就是说,consumer 订阅了 broker 上的某个 topic,当 producer 发布消息到 broker 上的该 topic 时,consumer 就能收到该条消息。之前我们讲过 consumer group 的概念,即消费同一类消息的多个 consumer 实例组成一个消费者组,也可以称为一个 consumer 集群,这些 consumer 实例使用同一个 group name。需要注意一点,除了使用同一个 gr转载 2020-11-25 20:50:48 · 185 阅读 · 0 评论 -
Spring Cloud Alibaba(五)RocketMQ 异步通信实现
本文探讨如何使用 RocketMQ Binder 完成 Spring Cloud 应用消息的订阅和发布。介绍RocketMQ是一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务,广泛应用于多个领域,包括异步通信解耦、企业解决方案、金融支付、电信、电子商务、快递物流、广告营销、社交、即时通信、移动应用、手游、视频、物联网、车联网等。RocketMQ 是阿里巴巴在2012年开源的分布式消息中间件,目前已经捐赠给 Apache 软件基金会,并于2017年9月.转载 2020-11-25 20:24:02 · 361 阅读 · 0 评论 -
什么情况下,需要使用分布式数据库?
目前,服务器的磁盘和内存,cpu都相对较好,一台数据库服务器可以存储好几亿条的数据,在一个什么样的情况下,应该考虑分布式数据库的,百亿?千亿?如果单机数据库,直接通过分布式数据库来访问,分布式数据库是否能够提高数据库的效率呢?数据库分库后,一些复杂的sql场景,会比较难处理,而且分库之后,sql除了查询分库的数据外,还要进行数据合并操作,那是否是说不分库,比分库更好一些呢?分别回答下,题主的三个问题:1. 目前,服务器的磁盘和内存,cpu都相对较好,一台数据库服务器可以存储好几亿条的数据,.转载 2020-11-25 14:51:56 · 1609 阅读 · 0 评论 -
mysql主从数据库双机热备的实现
转:http://yunnick.iteye.com/blog/1845301接续上一篇关于mysql双机热备实现原理分析,在本文经过深思熟虑和多次用不同的方式实测试后。最后在这篇文章中,用一个小例子来完成mysql双机热备的实现。Mysql数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题。还好mysql数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份的数据库中。实现mysql数据库的热备份。要想实现双机的热备,首先要了解主从数据库服务器的版本的需求。.转载 2020-11-25 14:37:27 · 241 阅读 · 0 评论 -
【MySQL】——主从架构(读写分离)
一、前言 目前,大部分的主流关系型数据库都提供了主从热备功能,通过配置两台(或多台)数据库的主从关系,可以将一台数据库服务器的数据更新同步到另一台服务器上。网站可以利用数据库的这一功能,实现数据库的读写分离,从而改善数据库的负载压力。 利用数据库的读写分离,Web服务器在写数据的时候,访问主数据库(Master),主数据库通过主从复制机制将数据更新同步到从数据库(Slave),这样当Web服务器读数据的时候,就可以通过从数据库获得数据。这一方案使得在大量读操作的Web应用可以轻松地...转载 2020-11-25 14:30:22 · 347 阅读 · 0 评论 -
如何保证数据库集群时候,主从库一致性的问题?
前言: 数据库集群,读写分离现在可以说是项目必备的了,但是我们如何保证其每个数据库的数据一致性?1半同步复制 简单的说就是: 主库发生增删改操作的时候,会等从库及时复制了并且通知了主库, 才会把这个操作叫做成功. 优点:保证数据一致性 缺点:就是会慢专业的讲: 半同步复制,是等待其中一个从库也接收到Binlog事务并成功写入Relay Log之后,才返回Commit操作成功给客户端;如此半同步就保证了事务成功提交后至少有两份日志记录,一份在主库Binlog上,另一份...转载 2020-11-25 14:27:42 · 403 阅读 · 0 评论 -
Dubbo想要个网关怎么办?试试整合Spring Cloud Gateway
一、背景在微服务架构中API网关非常重要,网关作为全局流量入口并不单单是一个反向路由,更多的是把各个边缘服务(Web层)的各种共性需求抽取出来放在一个公共的“服务”(网关)中实现,例如安全认证、权限控制、限流熔断、监控、跨域处理、聚合API文档等公共功能。在以Dubbo框架体系来构建的微服务架构下想要增加API网关,如果不想自研开发的情况下在目前的开源社区中几乎没有找到支持dubbo协议的主流网关,但是 Spring Cloud 体系下却有两个非常热门的开源API网关可以选择;本文主要...转载 2020-11-23 11:45:55 · 1633 阅读 · 4 评论 -
SpringCloud轻松集成Dubbo实现RPC调用
很久之前在做微服务架构选型的时候就听说阿里的微服务RPC框架dubbo,当时与Spring Cloud以http协议调用的架构做对比。发现dubbo的rpc框架学习成本较高,代码入侵性强,本身生态不完整,需要整合多个外部组件,故选择了相对性能弱一点的Spring Cloud全家桶。直到Spring Cloud Alibaba的出现,使用Nacos作为服务发现与注册,同时兼容使用Feign的http方式和使用Dubbo的rpc方式调用。Spring Cloud 为什么需要RPC在Spring C转载 2020-11-23 11:33:41 · 370 阅读 · 0 评论 -
《SpringCloud专题02》-关于SpringCloud组件的停更/升级/替换
Springcloud 官网都停止更新了。然后有新技术的来替代,这篇文章来记录一下技术选型的问题。服务注册中心之前体系中的 Eureka 官方已经不在维护了,强列不再建议选了。大有趋势的是 springcloud 体系里边的 Nacos,如果之前的系统使用的是 zookeeper 也行。服务调用之前是rebbon,现在也有停止维护的意思了。推出的是LoadBlance。原来的 Feign 不再维护,spring 推出了OpenFeign服务降级之前的体系里边的做服务熔断的 Hystr转载 2020-11-23 11:14:19 · 702 阅读 · 0 评论 -
SpringCloud03-关于Cloud各种组件的停更,升级,替换和官方学习文档
1、关于Cloud各种组件的停更/升级/替换目前,很多SpringCloud的相关组件已经停更了,同时随之而来的就是其他技术的升级和替换,下面就来简单了解一下:1.1 以前的SpringCloud相关组件上面针对不同的功能,有不同的技术实现,但是上图中,有些技术已经停更,但是不停用。1.2 什么是停更不停用停更不停用就是:被动修复bugs,不再接受合并请求,不再发布新版本;不再主动维护,停止更新升级,但是可以继续使用。如果是现在要做新项目,那就不建议使用了。1.3 现在的替换组件转载 2020-11-23 11:08:26 · 227 阅读 · 0 评论 -
远程调用 Dubbo 与 Feign 的区别
一、相同点Dubbo 与 Feign 都依赖注册中心、负载均衡。二、区别1、协议Dubbo:支持多传输协议(Dubbo、Rmi、http、redis等等),可以根据业务场景选择最佳的方式。非常灵活。 默认的Dubbo协议:利用Netty,TCP传输,单一、异步、长连接,适合数据量小、高并发和服务提供者远远少于消费者的场景。Feign:基于Http传输协议,短连接,不适合高并发的访问。2、负载均衡Dubbo:支持4种算法(随机、轮询、活跃度、Hash一致性),而且算法里转载 2020-11-23 09:36:58 · 1232 阅读 · 0 评论 -
一文读懂SpringCloud与Eureka,Feign,Ribbon,Hystrix,Zuul核心组件间的关系
Spring Cloud的主要组件Spring Cloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术,实际上,Spring Cloud是一个全家桶式的技术栈,包含了很多组件。本文先从其最核心的几个组件入手,来剖析一下其底层的工作原理。也就是Eureka、Ribbon、Feign、Hystrix、Zuul这几个组件。业务场景介绍先来给大家说一个业务场景,假设咱们现在开发一个电商网站,要实现支付订单的功能,流程如下:创建一个订单,如果用户立刻支付了这个订单,我们需要将订单状态更新转载 2020-11-23 09:26:23 · 267 阅读 · 0 评论