摘要: 一,常见的下单途径 Web网站下单 手机Wap下单 打电话到呼叫中心下单(少见) 如果采用常见的单数据库来存储的话,随着订单量的增加,单库的写压力增大,造成数据库服务器性能降低,一般会采用分库来缓解数据库服务器的压力,分库就分成不同的几个订单数据库,Web来源订单,存入Web订单库;手机Wap来源, 阅读全文
posted @ 2020-04-21 13:29 Coding-Liu 阅读(1470) 评论(0) 推荐(0)
摘要: Redis线程模型 Redis内部使用文件事件处理器file event handler,这个文件事件处理器是单线程的,所以Redis才被叫做单线程模型。它采用IO多路复用机制同时监听多个socket,根据socket上的事件来选择对应的事件处理器进行处理。 文件事件处理器的结构包含4各部分: 多个 阅读全文
posted @ 2020-04-20 16:59 Coding-Liu 阅读(181) 评论(0) 推荐(0)
摘要: 相信研究过爬虫的应该对布隆过滤器都有所了解,在URL去重,文章去重等方面,布隆过滤器的用处很大。 布隆过滤器是一个很长的二进制向量和一系列的映射hash函数。 布隆过滤器不能准确地判断一个值真正的存在,但是可以判断一个值一定不存在,就好比两个值A、B,当使用布隆过滤器,判断A存在时,其实A不一定存在 阅读全文
posted @ 2020-04-20 13:46 Coding-Liu 阅读(164) 评论(0) 推荐(0)
摘要: 简单来说, Redis就是一个数据库, 只不过是非关系型数据库, 而且数据是存储在内存中的.因此Redis的速度也很快, 被广泛用于缓存方面. 同时也常被用来做分布式锁. Redis支持多种数据类型, 可以支持不同的场景应用. 为什么用Redis/为什么用缓存? 主要从高并发和高性能两点来看 高性能 阅读全文
posted @ 2020-04-20 13:04 Coding-Liu 阅读(182) 评论(0) 推荐(0)
摘要: 最近一段时间学了RabbitMQ, 消息队列, 查找了一些资料, 对两个比较常用的消息队列做一个很简单的对比, 如有不对欢迎指正 吞吐量: RabbitMQ一般是十万, 百万级的, Kafka要比RabbitMQ高一个数量级 可用性: 都可以实现高可用, RabbitMQ是基于主从架构实现的, Ka 阅读全文
posted @ 2020-04-19 21:24 Coding-Liu 阅读(1705) 评论(0) 推荐(0)
摘要: 消息队列好比一个存放消息的容器, 当我们使用时可以取出供自己使用. 消息队列是分布式系统中重要组件. 主要是通过异步处理提高系统性能和削峰, 降低系统耦合性. 队列Queue是一种先进先出的数据结构, 所以消息消费时是按顺序消费的, 但是偶尔也会顺序出错, 以及消息重复消费, 这是我们需要考虑的问题 阅读全文
posted @ 2020-04-19 21:08 Coding-Liu 阅读(315) 评论(0) 推荐(0)
摘要: RabbitMQ是基于AMQP(Advanced Message Queuing Protocol, 高级消息队列协议, 一种二进制协议) 的消息中间件, 用于分布式系统中存储转发消息. 特点: 可靠性: RabbitMQ使用一些机制来保证消息的可靠性, 如持久化, 传输确认以及发布确认等. 灵活的 阅读全文
posted @ 2020-04-19 20:04 Coding-Liu 阅读(277) 评论(0) 推荐(0)
摘要: Dubbo是一款高性能、轻量级的Java RPC框架,提供三大核心功能:面向接口的远程方法调用、智能容错和负载均衡、以及服务自动注册和发现。简单来说,Dubbo是一个分布式服务框架,致力于提高性能和透明化的PRC远程服务调用方案,以及SOA服务治理方案。 Dubbo实际上是RPC框架,那么什么是RP 阅读全文
posted @ 2020-04-19 14:05 Coding-Liu 阅读(200) 评论(0) 推荐(0)
摘要: 思路分析: 归并排序是建立在归并操作的基础上,同样也是利用了分治法来进行解答. 作为一种典型的分而治之思想的算法应用, 归并排序实现两种方法: 自上而下的递归 自下而上的迭代(所有递归都可以使用迭代重写) 首先申请空间, 设定两个指针,位于两个排序好的序列的初始位置, 比较两个序列的值然后放入最终序 阅读全文
posted @ 2020-04-18 23:43 Coding-Liu 阅读(165) 评论(0) 推荐(0)
摘要: 思路分析: 快速排序是实现应用中非常常用的一种算法, 时间复杂度为O(nlongn). 快速排序利用分治法, 随机选取一个point值, 然后把小于point的放在左边, 把大于point的放在右边, 经过这样一次操作, 左边都小于point, 右边都大于point. 然后分别对point左边和右边 阅读全文
posted @ 2020-04-18 23:17 Coding-Liu 阅读(89) 评论(0) 推荐(0)