Terry-Ye/im 系统使用zookeeper

2019-03-25
阅读 1 分钟
1.8k
例上图:logic层如因业务发展需要扩展web机器,新增的机器可以直接启动logic 服务,向zookeeper注册。而comet 层不需要修改任何配置信息,comet层rpc 调用logic层时,zookeeper 还可以充当负载均衡的角色,获取其中logic层的一台机器给comet层调用。

题库分库分表架构方案

2019-01-29
阅读 3 分钟
4.8k
个人博客地址 [链接] 方案 项目背景 在现在题库架构下,针对新购买的1300W多道数据进行整合,不影响现有功能。由于数据量偏多,需要进行数据的切分 目标场景 兼容旧的功能 对1300多W数据进行分库分表 需要对旧的数据进行整合 老师端选题组卷 可以根据 学段、学科、知识点、难度、题型 来筛选 学生端根据老师端所选题目获...

纯golang im即时通讯系统(支持分布式)

2018-12-19
阅读 2 分钟
13.8k
简介 纯go实现的im即时通讯系统,各层可单独部署,之间通过rpc通讯,支持集群,github地址 [链接] , 学习于goim, 总分三层, comet(用户连接层),可以直接部署多个节点,每个节点保证serverId 唯一,在配置文件comet.toml logic(业务逻辑层),无状态,各层通过rpc通讯,容易扩展,支持http接口来接收消息 job(任务推...

二维码被扫实时返回方案

2018-03-19
阅读 1 分钟
4.5k
来自个人博客 二维码被扫实时返回方案 场景 需要在小程序二维码扫码功能 被扫码成功后跳转到成功页面 不想使用websocket 通讯,想通过接口的方法实现 方案 用户扫码二维码成功后 会入库,并入redis 队列 前端请求扫码状态接口,后端使用redis 取队列方法BRPOP 阻塞25秒,有则返回成功状态,没有则继续等待,超过25秒发状...

php 面试题目整理(持续更新)

2018-03-14
阅读 2 分钟
7.8k
来自 AT博客整理于面试别人或被别人面试的一些题目(持续更新),答案网上基本都有,不一一列举。希望能帮到需要换工作的你。 数据库 mysql 索引的理解 mysql b-tree 与hash 索引的区别 mysql 索引的优化 mysql 存储引擎的理解,例 MyISAM与InnoDB的区别 除了mysql 还用过其它数据库吗? 有那些,应用的场景,优缺点 mysql...

go程序设计语言练习题

2018-03-08
阅读 2 分钟
6.1k
来自 go程序设计语言 一书源博客地址go程序设计语言练习题 练习题3.10 编写一个非递归的comma函数,运用bytes.Buffer,而不是简单的字符串拼接 {代码...} 练习4.3 重写函数reverse,使用数组指针作为参数而不是slice {代码...} 练习4.5,编写一个就地处理函数,用于去 除[]string slice 中相邻的重复字符串元素 {代码...}

选择MariaDB的压缩数据引擎TokuDB

2018-02-02
阅读 2 分钟
3.5k
来自个人博客地址选择MariaDB的压缩数据引擎TokuDB 业务运用场景 数据基本不用update, 不频繁的范围查询 数据存储量较大(为以后准备) 选择占用磁盘较小的db 业务对数据库插入操作频繁,为避免影响其它业务,需要将直播业务的DB 独立出来,选择另外的db db类型分析(只做简单表达,有兴趣可以自行了解) sqlite 优点 ...

php使用swoole的应用场景

2017-11-22
阅读 3 分钟
30.2k
注意点:第一点:web1服务器 连接的用户1,2,3,web1广播信息时只能广播用户1,2,3,不能广播web2连接的用户4,5,6,假设场景是聊天,用户1发送一消息,只有web1 服务器的用户能看到,web2的用户全部不能收到

深入理解Memcache

2017-10-12
阅读 1 分钟
3k
特性 单个item 最大的数据 1M 单进程最大的使用内存 2G ,需要更多内存时可开多个端口 memcached 是多线程,非阻塞io复用的网络模型,redis 是单线程 键长最大250字节 常见的运用场景 memcached来保持session,实现session共享(session跨服务器的一种解决方案) 内存管理机制(默认是使用Slab Allocatoion机制分配、管...

使用dockerfile 部署lnmpr环境

2017-04-10
阅读 7 分钟
8k
Docker 是基于GO语言实现的开源容器项目,现在主流的Linux系统都支持Docker,Docker 的构想是想要实现“Build,Ship and Run Any App, Anywhere”,即通过对应用的封装(Packaging)、分发(Distribution)、部署(Deployment)、运行(Runtime)生命周期进行管理,达到应用组件“一次封装,到处运行”的目的。简单的来说,可以...

适配器设计模式(应用于活动业务)

2017-03-22
阅读 4 分钟
2.2k
案例一(来自于php 设计模式 书) - 假设一个企业网站同时销售软件服务和软件产品,目前所有的交易都在美国进行,后续业务决定向欧洲发展要增加货币换算(增加适配器)

秒杀活动的设计

2017-03-09
阅读 2 分钟
11.5k
来自个人博客 秒杀活动的设计 业务的基本说明 运营评估最高的并发会达到 10W(根据推广的力度,以及以往的经验) 业务现有的服务器架构 反向代理 4台,前端机 8台, db 2台(主从),redis 2台(主从)以下是服务器架构图 动静分离 html 等静态文件上CDN ,这方面压力不大后台程序动态接口,必须支持高并发,用户体验必...