
架构
向漠
心向大漠,放生大荒
展开
-
互联网高可用架构
原创 2018-05-04 10:50:54 · 352 阅读 · 0 评论 -
电商系统如何做搜索引擎?
0 什么搜索引擎? 搜索引擎(search engine)是指根据一定的策略、运用特定的计算机程序搜集互联网上的信息,在对信息进行组织和处理后,为用户提供检索服务的系统。数据其实就是一块块的砖头,当用户需要的时候搜索引擎搬过来。我们的宗旨就是在最短的时间内,让用户找到他们最想要的东西。 1 电商系统为什么需要搜索引擎 电商搜索业务特点: 第一点, 电商系统的商品...转载 2018-08-31 11:46:29 · 7712 阅读 · 3 评论 -
抢购流程
1:抢购活动录入(包括:活动名称,活动描述,活动图片,活动开始时间,结束时间)。2:抢购商品录入(包括:商品名,图片,描述,价格,库存数量(100))。3:抢购服务架构:nignx(2台)--》4台tomcat--》2台redis和2台mysql4:抢购前,把活动和商品数据加载到redis 里面。5:抢购前,可以访问活动情况页面和接口,但购买接口会判断是否到抢购时间,如果没到则返回提取抢错...原创 2018-08-17 09:27:58 · 2078 阅读 · 0 评论 -
docker 安装hadoop,hive,spark,hbase
0:网络和主机规划docker network create --subnet=172.18.0.0/16 mynetwork主机规划"172.18.0.30 master" "172.18.0.31 slave1" "172.18.0.32 slave2" 1:安装基础环境docker pull ubuntu:16.04docker run -it ubuntu:16.04 /bin/b...原创 2018-06-25 10:21:59 · 5506 阅读 · 1 评论 -
线程池原理和机制简述
一:结构线程池一般有core 线程数,最大线程数和缓存队列(阻塞队列)组成。二:线程复用原理线程池里面的线程(真正线程,start 方法启动的)运行业务线程对象(Thread 或者Runable 对象,但不是真正的线程)的run (非start方法)方法。三:线程池逻辑四:常用线程池1:newFixedThreadPoolpublic static ExecutorService newFixed...原创 2018-05-24 11:18:31 · 2273 阅读 · 0 评论 -
八幅漫画理解使用 JWT 设计的单点登录系统
原文:http://blog.leapoahead.com/2015/09/07/user-authentication-with-jwt/上次在《JSON Web Token - 在Web应用间安全地传递信息》中我提到了JSON Web Token可以用来设计单点登录系统。我尝试用八幅漫画先让大家理解如何设计正常的用户认证系统,然后再延伸到单点登录系统。如果还没有阅读《JSON Web Toke...转载 2018-05-28 16:41:26 · 220 阅读 · 0 评论 -
微服务化之前需要先无状态化和容器化
一、为什么要做无状态化和容器化 很多应用拆分成微服务,是为了承载高并发,往往一个进程扛不住这么大的量,因而需要拆分成多组进程,每组进程承载特定的工作,根据并发的压力用多个副本公共承担流量。 将一个进程变成多组进程,每组进程多个副本,需要程序的修改支撑这种分布式的架构,如果架构不支持,仅仅在资源层创建多个副本是解决不了问题的。 很多人说,支撑双十一是靠...转载 2018-05-23 17:24:28 · 2273 阅读 · 0 评论 -
分布式id的生成策略
一、需求缘起几乎所有的业务系统,都有生成一个记录标识的需求,例如:(1)消息标识:message-id(2)订单标识:order-id(3)帖子标识:tiezi-id这个记录标识往往就是数据库中的唯一主键,数据库上会建立聚集索引(cluster index),即在物理存储上以这个字段排序。这个记录标识上的查询,往往又有分页或者排序的业务需求,例如:(1)拉取最新的一页消息:selectmessag...转载 2018-05-23 16:10:45 · 524 阅读 · 0 评论 -
秒杀系统思路
随着电商的发展,秒杀系统已经发展成为电商必不可少的组成部分,如小米手机的秒杀,12306的抢票,这些系统的共同特点都是:库存只有一份,瞬时流量非常大,所有人会在集中的时间读和写这些数据,多个人读一个数据;读写冲突,锁非常严重,这是秒杀业务难的地方。那我们怎么构建秒杀业务的架构呢? 构建架构需要总体做到两点: 1、请求尽量拦截在系统上游;2、使用...原创 2018-05-23 15:47:51 · 223 阅读 · 0 评论 -
mycat 方案整理
一、整体高可靠架构应用访问ha 的vip来访问数据库。多个mycat可以达到负载均衡和高可靠。二、mycat 基本配置1、表按库分区<schema name="DBTest" checkSQLschema="false" sqlMaxLimit="100"> <!-- sharding by murmur id --> <table nam...原创 2018-05-25 10:29:39 · 388 阅读 · 0 评论 -
IO多路复用
select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而异步I/O则无需自己负责进行读写,异步I/O的实现会负责把数据从内核拷贝到用...原创 2018-05-21 11:02:36 · 177 阅读 · 0 评论 -
三分钟看懂一致性哈希算法
转:https://blog.youkuaiyun.com/gerryke/article/details/53939212受一篇“五分钟看懂”的启发,来个哗众取宠的标题一致性哈希算法,作为分布式计算的数据分配参考,比传统的取模,划段都好很多。在电信计费中,可以作为多台消息接口机和在线计费主机的分配算法,根据session_id来分配,这样当计费主机动态伸缩的时候,因为session_id缓存缺失...转载 2018-09-13 14:55:53 · 371 阅读 · 0 评论