微服务
文章平均质量分 76
wangyan9110
菜鸟网络,我的个人博客http://yywang.info/
展开
-
谈谈微服务
自从去年在一次上厕所的时候,翻开手机,看到微服务这一个概念,就认为这种架构的模式非常看好,自那以后,一直关注微服务相关的内容。目前微服务已经是一个非常火的概念,在Infoq几乎每条都有关于微服务的文章或者新闻。可见微服务已经像我们靠近。微服务的“微”:有一些观点体现在微服务的微在体现在代码量上,微服务的代码行数一定非常少。关于这个观点,个人并不认同,我觉得使用代码行数来衡量微服务的话,就像使用代码量原创 2015-06-03 17:39:17 · 1190 阅读 · 0 评论 -
聊聊RPC之Consumer
在上一篇我们介绍了RPC的Provider,包括它的发布过程和在设计一个Provider时需要考虑的问题,本文将介绍做一个调用方,在这个Consumer调用过程中,RPC又帮我们做了哪些事情和在使用别人提供的Provider时需要注意哪些问题。(和上篇一样,我们仍以Dubbo为例)Consumer的调用过程作为Consumer调用别人提供的一个服务,一般需要如下工作引入client包 <原创 2017-04-08 15:31:33 · 1538 阅读 · 0 评论 -
聊聊RPC之Register
在前两篇文章中,我们多次讲到了注册中心。在Provider中,我们讲到在服务注册的过程中,需要注册到注册中心。在Consumer中,我们讲到从注册中心获取到Provider地址。可见注册中心是RPC中重要的组成部分。那么注册中心,担任哪些职责呢?注册中心需要有解决哪些问题呢?注册中心的基本功能我们先来看下注册中心在服务调用中的位置从以上可以看出,注册中心有以下两个基本职责:服务地址注册,服务提供者原创 2017-04-08 15:33:30 · 1698 阅读 · 2 评论 -
聊聊RPC之Provider
RPC的全称是Remote Procedure Call,它是一个分布式系统必备的一个中间件,主要解决系统之间通信的问题。一般来说一个RPC中间件的由以下组成:Provider:服务提供者,提供服务给消费者调用Consumer:服务消费者,提供可以像调用本地方法一样的方式,调用远程的服务Register:注册中心,为提供者、消费者提供服务地址的注册服务,当提供者不可用时即时通知调用者Prot原创 2017-04-08 15:29:30 · 1374 阅读 · 0 评论 -
一致性Hash算法的实现
一致性hash作为一个负载均衡算法,可以用在分布式缓存、数据库的分库分表等场景中,还可以应用在负载均衡器中作为作为负载均衡算法。在有多台服务器时,对于某个请求资源通过hash算法,映射到某一个台服务器,当增加或减少一台服务器时,可能会改变这些资源对应的hash值,这样可能导致一部分缓存或数据失效了。一致性hash就是尽可能在将同一个资源请求路由到同一台服务器中。本篇文章将模拟实现一个分布式缓存系统来原创 2017-04-15 17:20:00 · 8670 阅读 · 2 评论 -
如何保证微服务接口的幂等性
在微服务架构下,我们在完成一个订单流程时经常遇到下面的场景: 一个订单创建接口,第一次调用超时了,然后调用方重试了一次 在订单创建时,我们需要去扣减库存,这时接口发生了超时,调用方重试了一次 当这笔订单开始支付,在支付请求发出之后,在服务端发生了扣钱操作,接口响应超时了,调用方重试了一次 一个订单状态更新接口,调用方连续发送了两个消息,一个是已创建,一个是已付款。但是你先接收到原创 2017-04-29 15:48:21 · 29314 阅读 · 3 评论 -
如何使用Kotlin开发微服务
谷歌在5月18号的I/O开发者大会上,宣布将Kotlin语言作为安卓开发的一级编程语言。可能很多人这时第一次听说这门语言。我了解这门语言时间也不长,在今年的一个内网帖子上第一次看到这门语言。今天我们来了解一下Kotlin这门语言和如何使用Kotlin开发微服务Kotlin简介 Kotlin是一种在Java虚拟机上运行的静态类型编程语言,它也可以被编译成为JavaScript源代码。它主要是由俄罗原创 2017-05-20 17:29:47 · 3150 阅读 · 0 评论