作者:黄金 一.Dubbo简介 Dubbo是一款典型的高扩展.高性能.高可用的RPC微服务框架,用于解决微服务架构下的服务治理与通信问题.其核心模块包含 [RPC通信] 和 [服务治理] ,其中服务治理又分为服务注册与发现.服务容错.负载均衡.流量调度等.今天将重点介绍Dubbo的服务注册与发现. 二.SPI机制 在介绍服务注册发现之前,先简单介绍一下贯穿整个Dubbo源码,也是Dubbo实现自适应扩展的核心--SPI机制,下图为Dubbo SPI实现的简单类图. •1.Dubbo SPI原理:…
Java生鲜电商平台-秒杀系统微服务架构设计与源码解析实战 Java生鲜电商平台-  什么是秒杀 通俗一点讲就是网络商家为促销等目的组织的网上限时抢购活动 比如说京东秒杀,就是一种定时定量秒杀,在规定的时间内,无论商品是否秒杀完毕,该场次的秒杀活动都会结束.这种秒杀,对时间不是特别严格,只要下手快点,秒中的概率还是比较大的. 淘宝以前就做过一元抢购,一般都是限量 1 件商品,同时价格低到「令人发齿」,这种秒杀一般都在开始时间 1 到 3 秒内就已经抢光了,参与这个秒杀一般都是看运气的,不必太强求…
Java生鲜电商平台-电商会员体系系统的架构设计与源码解析 说明:Java生鲜电商平台中会员体系作为电商平台的基础设施,重要性不容忽视.我去年整理过生鲜电商中的会员系统,但是比较粗,现在做一个最好的整理架构. 设计电商会员体系需要知道什么 1. 首先,产品定位,是To B 还是To C 2. 其次,电商产品是否平台型,平台型和非平台型电商会员体系区别 3. 再者,同为平台型电商,会员体系也有不同,该如何选择与设计 4. 最后,如何设计会员的成长体系 电商会员种类和作用 按行业划分 可以分为To…
Java生鲜电商平台-优惠券系统的架构设计与源码解析 电商后台:实例解读促销系统 电商后台系统包括商品管理系统.采购系统.仓储系统.订单系统.促销系统.维权系统.财务系统.会员系统.权限系统等,各系统之间相互关联.相互依托,为前端的正常业务流转建立结实稳固的基础. 促销系统的主要目的是便于运营设置各种促销方式,以提高商品的销量.用户的客单价等. 在后台各系统中,促销系统和商品管理系统.订单系统关联最大,商品管理系统为促销系统提供活动商品,用户下单后,促销优惠信息会展示在订单系统中. 促销系统介绍…
Java生鲜电商平台-促销系统的架构设计与源码解析 说明:本文重点讲解现在流行的促销方案以及源码解析,让大家对促销,纳新有一个深入的了解与学习过程. 促销系统是电商系统另外一个比较大,也是比较复杂的系统,作为一个卖货的,当我们准备好了店铺.商品,那么剩下的就是卖货了. 但是,卖的好不好,有时候并不取决与你的商品质量,而是会不会营销,会不会做活动,甚至说即便你的商品质量不好.但是如果营销活动做得好,那也是可以卖的比别人挣钱的,所以促销活动很重要.它需要分析市场结合自身条件合理的创建促销活动,我们理…
ExtensionLoader<Protocol> loader = ExtensionLoader.getExtensionLoader(Protocol.class); final Protocol dubboProtocol = loader.getExtension("dubbo"); final Protocol adaptiveExtension = loader.getAdaptiveExtension(); 第一行代码在2.2 dubbo-spi源码解析中讲…
1.单例模式 https://www.cnblogs.com/yuanchenqi/articles/8323452.html 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场. 比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置文件的信息.如果在程序运行期间,有很多地方都需要使用配置文件的内容,也就是说,很多…
作者:周可强 一.责任链模式简介 1.责任链模式定义 责任链(Chain of Responsibility)模式的定义:为了避免请求发送者与多个请求处理者耦合在一起,于是将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链:当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止.在责任链模式中,客户只需要将请求发送到责任链上即可,无须关心请求的处理细节和请求的传递过程,请求会自动进行传递.所以责任链将请求的发送者和请求的处理者解耦了. 2.责任链特点 责任链模式是一种对象行为…
背景 团队内部轮流技术分享,其他人都是分享源码,我每次都是设计和架构,感觉自己太特立独行.这次我要合群点,分享点源码. 概念 Service Provider Interface:服务提供方接口.是一种JVM层面的服务注册发现机制. 谁在用 jdbc源码里我见过SPI.Dubbo源码里我见过SPI.Eleasticsearch源码里我见过SPI……在基础服务中使用占比很高. 怎么判断有没有用 如上图,META-INF/services下面能看到长的很像类的完全限定名,就八九不离十了. 怎么用  …
mybatis是一个非常优秀的开源orm框架,在大型的互联网公司,基本上都会用到,而像程序员的圣地-阿里虽然用的是自己开发的一套框架,但其核心思想也无外乎这些,因此,去一些大型互联网公司面试的时候,总是会问到对于这些开源框架的理解,有没有阅读开源框架的源码,虽说是面试造火箭,工作拧螺丝,但是让你造火箭的时候,你总得能伸把手啊.所以,我们既然不能改变大厂,那只能自己去提升源码阅读的能力了. mybatis其实做的事情很简单,就是封装了对数据库的访问,我们开发的时候,只需要写接口,传参,配置数据库地…