前言 ​ 我们将先从Redis.Nginx+Lua等技术点出发,了解缓存应用的场景.通过使用缓存相关技术,解决高并发的业务场景案例,来深入理解一套成熟的企业级缓存架构如何设计的.本文Redis部分总结于蒋德钧老师的<Redis核心技术与实战>. Redis基础 简介 Redis是一个开源的使用ANSI C语言编写.遵守BSD协议.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. ​ 它通常被称为数据结构服务器,因为值(value)可以是 字符串(Str…
前言 上章节介绍了Redis相关知识,了解了Redis的高可用,高性能的原因.很多人认为提到缓存,就局限于Redis,其实缓存的应用不仅仅在于Redis的使用,比如还有Nginx缓存,缓存队列等等.这章节我们会将讲解Nginx+Lua实现多级缓存方法,来解决高并发访问的场景. 缓存的应用 我们来看一张微服务架构缓存的使用 我们可以看到微服务架构中,会大量使用到缓存 1.客户端缓存(手机.PC) 2.Nginx缓存 3.微服务网关限流令牌缓存 4.Nacos缓存服务列表.配置文件 5.各大微服务自…
前言 Kafka 是一款分布式消息发布和订阅系统,具有高性能.高吞吐量的特点而被广泛应用与大数据传输场景.它是由 LinkedIn 公司开发,使用 Scala 语言编写,之后成为 Apache 基金会的一个顶级项目.kafka 提供了类似 JMS 的特性,但是在设计和实现上是完全不同的,而且他也不是 JMS 规范的实现. Kafka简介 kafka产生背景 kafka 作为一个消息系统,早起设计的目的是用作 LinkedIn 的活动流(Activity Stream)和运营数据处理管道(Pipe…
前言 MQ全称为Message Queue,即消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开 发中应用非常广泛.开发中消息队列通常有如下应用场景:1.任务异步处理.将不需要同步处理的并且耗时长的操作由消息队列通知消息接收方进行异步处理.提高了应用程序的响应时间.2.应用程序解耦合MQ相当于一个中介,生产方通过MQ与消费方交互,它将应用程序进行解耦合.市场上还有哪些消息队列?ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ.Redis.…
前言 接上文,这个继续介绍RabbitMQ,并理解其底层原理. 介绍 RabbitMQ是由erlang语言开发,基于AMQP(Advanced Message Queue 高级消息队列协议)协议实现的消息队列. 为什么使用RabbitMQ呢? 1.使得简单,功能强大. 2.基于AMQP协议. 3.社区活跃,文档完善. 4.高并发性能好,这主要得益于Erlang语言. 5.Spring Boot默认已集成RabbitMQ AMQP协议 AMQP基本介绍 AMQP,即Advanced Message…
Java生鲜电商平台-促销系统的架构设计与源码解析 说明:本文重点讲解现在流行的促销方案以及源码解析,让大家对促销,纳新有一个深入的了解与学习过程. 促销系统是电商系统另外一个比较大,也是比较复杂的系统,作为一个卖货的,当我们准备好了店铺.商品,那么剩下的就是卖货了. 但是,卖的好不好,有时候并不取决与你的商品质量,而是会不会营销,会不会做活动,甚至说即便你的商品质量不好.但是如果营销活动做得好,那也是可以卖的比别人挣钱的,所以促销活动很重要.它需要分析市场结合自身条件合理的创建促销活动,我们理…
Java生鲜电商平台-电商会员体系系统的架构设计与源码解析 说明:Java生鲜电商平台中会员体系作为电商平台的基础设施,重要性不容忽视.我去年整理过生鲜电商中的会员系统,但是比较粗,现在做一个最好的整理架构. 设计电商会员体系需要知道什么 1. 首先,产品定位,是To B 还是To C 2. 其次,电商产品是否平台型,平台型和非平台型电商会员体系区别 3. 再者,同为平台型电商,会员体系也有不同,该如何选择与设计 4. 最后,如何设计会员的成长体系 电商会员种类和作用 按行业划分 可以分为To…
Java生鲜电商平台-优惠券系统的架构设计与源码解析 电商后台:实例解读促销系统 电商后台系统包括商品管理系统.采购系统.仓储系统.订单系统.促销系统.维权系统.财务系统.会员系统.权限系统等,各系统之间相互关联.相互依托,为前端的正常业务流转建立结实稳固的基础. 促销系统的主要目的是便于运营设置各种促销方式,以提高商品的销量.用户的客单价等. 在后台各系统中,促销系统和商品管理系统.订单系统关联最大,商品管理系统为促销系统提供活动商品,用户下单后,促销优惠信息会展示在订单系统中. 促销系统介绍…
前言 ​ 各位读者好,本系列为Java进阶专题,为那些有一定工作经验,做了多年业务的码农,希望突破技术瓶颈,但没有形成系统的Java只是体系,缺乏清晰的提升方法和学习路径的人,比如作者本人.该课题的是我在各大课程网站中寻得的一个比较系统.全面的进阶路线.大纲是跟某泡学院的8288元的架构师培训课程一致的.有条件的同学可以去直播面授.但是我们已经不是刚接触Java的小白了,此时的我们只需要有个学习路线便可自己在网上寻得各种自己想要的资料来自学了,所以我根据他们的课题去搜寻对应的学习资料来完成自己版…
分布式发布订阅消息系统 Kafka 架构设计 转自:http://www.oschina.net/translate/kafka-design 我们为什么要搭建该系统 Kafka是一个消息系统,原本开发自LinkedIn,用作LinkedIn的活动流(activity stream)和运营数据处理管道(pipeline)的基础.现在它已为多家不同类型的公司 作为多种类型的数据管道(data pipeline)和消息系统使用. 活动流数据是所有站点在对其网站使用情况做报表时要用到的数据中最常规的部…