架构
文章平均质量分 88
IM魂影
什么都懂一点点,奔向全栈的路上!
展开
-
CentOS 7安装自定义分区方案
通常系统盘都会选择性能较好SSD,一般在500G左右,这里就以500G硬盘为例,以下为CentOS 自动分区方案:必须存在的分区/ 分区是必须存在的分区,所有一级目录都位于该分区之下,同时还与引导/还原/修复系统等动作有关,包含了一些修复系统的程序。文件系统层次标准(Filesystem Hierarchy Standard, FHS)建议根分区 / 在满足系统需求的情况下,应该越小越好,这样能够最大可能的避免因为硬盘故障而导致系统损坏。同时最好不要在 / 分区创建新的子目录和存放非必要文件,推荐大小5转载 2021-05-07 18:50:33 · 2725 阅读 · 0 评论 -
Gogs+Drone持续集成(CI/CD)入坑详细指南
背景近期在公司内部部署CI/CD平台, 经过比较Jenkins和Drone, 基于Drone的优点最终选择了Drone.一开始也尝试使用docker部署Jenkins, 部署过程中下载插件失败(估计是伟大的墙的原因), 最后直接放弃并尝试部署Drone.没想到搜遍全网, 相关资料甚少, 能用的drone版本也很老旧.随后只能一步步看官方文档进行部署, 但是部署过程中发现官方文档也写得不明不白, 遇到了一堆坑.最后解决问题, 特此记录下来, 供大家参考.官方文档是使用docker的方式安装, 网上原创 2021-02-02 17:05:26 · 6927 阅读 · 2 评论 -
CentOS平台 OpenResty源码编译安装
安装依赖包yum install -y make cmake gcc gcc-c++ autoconf automake libpng-devel libjpeg-devel zlib libxml2-devel ncurses-devel bison libtool-ltdl-devel libiconv libmcrypt mhash mcrypt pcre-devel openssl-d原创 2018-01-21 12:23:03 · 3486 阅读 · 0 评论 -
游戏服务器常用架构
游戏服务器,是一个会长期运行程序,并且它还要服务于多个不定时,不定点的网络请求。所以这类服务的特点是要特别关注稳定性和性能。这类程序如果需要多个协作来提高承载能力,则还要关注部署和扩容的便利性;同时,还需要考虑如何实现某种程度容灾需求。由于多进程协同工作,也带来了开发的复杂度,这也是需要关注的问题。游戏服务器架构要素对于游戏服务端架构,最重要的三个部分就是,如何使用CPU、内存、网卡的设计:...转载 2020-04-24 16:23:22 · 1069 阅读 · 0 评论 -
网游服务端架构
最近二十年以来,IT行业发展之迅猛。计算机也从最开始的“毒害青少年的罪魁祸首”变成了各行各业都离不开的工具。在这个过程中,网络游戏也变得容易让人接受了,再也不像二十年前一样,如过街老鼠,人人喊打。现在的游戏已经是几乎下到幼儿园上到养老院的居家旅行必备良品。因此,从技术层面来说,现在的网络游戏也面领着用户量激增、业务逻辑越来越复杂、需求频繁变化等种种问题。所以,对于一款网游来说,拥有一套高承载、稳...转载 2020-04-24 16:11:55 · 1274 阅读 · 0 评论 -
游戏服务器架构设计整理
一个大型的网落游戏服务器应该包含几个模块:网络通讯,业务逻辑,数据存储,守护监控(不是必须),其中业务逻辑可能根据具体需要,又划分为好几个子模块。这里说的模块可以指一个进程,或者一个线程方式存在,本质上就是一些类的封装。对于服务器的并发性,要么采用单进程多线程,要么采用多进程单线程的方式,说说两种方式的优缺点:一、单进程多线程的服务器设计模式,只有一个进程,但一个进程包好多个线程:网络通讯...转载 2020-04-24 15:43:03 · 1065 阅读 · 0 评论 -
遇见 TiDB,放弃MySQL
最近TiDB掀起了一波分布式数据库的热潮,公司也在着手准备TiDB的落地工作,前几天也参与了几场公司针对TiDB的分享会,下面我们了解一下关于TiDB。TiDB 是什么?TiDB 是一个分布式 NewSQL 数据库。它支持水平弹性扩展、ACID 事务、标准 SQL、MySQL 语法和 MySQL 协议,具有数据强一致的高可用特性,是一个不仅适合 OLTP 场景还适合 OLAP 场景的混合数据库...转载 2018-12-22 22:57:13 · 16019 阅读 · 0 评论 -
TiDB 在今日头条的实践
本文整理自今日头条数据库中间件/分布式数据库负责人吴镝([知乎 ID:吴镝](http://www.zhihu.com/people/foxmailed))在TiDB DevCon2018 上的分享内容。TiDB 主要应用在今日头条核心 OLTP 系统 - 对象存储系统中,存储其中一部分元数据,支持头条图片和视频相关业务,比如抖音等。如今(数据截至发文),TiDB 支撑着今日头条 OLTP...转载 2018-12-22 23:46:19 · 634 阅读 · 0 评论 -
为什么MariaDB更优于MySQL
本文为读者提供MariaDB和MySQL的深入见解。分析两者并讨论它们之间的差异。还有一部分内容阐述为什么MySQL用户应该切换到MariaDB。如今,组织有一系列数据库可供选择–无论是商业还是开源。曾经有一段时间,大多数数据库管理系统(DBMS)都是商业的。但是现在,随着众多开源数据库的推出,行业专业人士更愿意使用它们。实际上,开源数据库在当今市场上占有相当大的份额,因为用户可以根据需求自由...转载 2018-12-22 23:52:17 · 6889 阅读 · 0 评论 -
CentOS 7下 yum 安装MariaDB10.3详解
前言mariadb 和mysql就像亲兄弟的关系,各种语法、驱动啥的,在mysql上能上的,在mariadb上基本都可以直接使用。更多的细节在此不多说。1、删除旧版本centos7下默认安装有mariadb数据库,但是是旧版本,在安装新版本前需要先把旧版本删除,有些系统还默认安装mysql,也必须删除,否则与mariadb会产生冲突,如下命令过程:rpm -qa | grep mariad...转载 2018-12-23 15:41:32 · 3225 阅读 · 0 评论 -
后端技术流大神博客收藏
团队技术博客淘宝UED淘宝用户体验团队淘宝核心系统淘宝核心系统团队博客阿里巴巴数据库团队专注数据库管理开发运维淘宝通用产品专注JAVA技术淘宝QA致力于做测试的行业标准淘宝搜索技术关注技术 关注搜索量子恒道专注大数据统计百度搜索研发关注搜索相关技术EMC中国研究院关注于云计算和大数据贰号楼肆层阿里巴巴平台技术部阿里数据平台阿里巴巴数据平台百度技术分享交流百度的互联网技术...转载 2019-04-24 13:23:18 · 727 阅读 · 0 评论 -
高性能MySQL分支MariaDB、Percona、Drizzle大比拼
导读:尽管MySQL是最受欢迎的程序之一,但是许多开发人员认为有必要将其拆分成其他项目,并且每个分支项目都有自己的专长。该 需求以及Oracle对核心产品增长缓慢的担忧,导致出现了许多开发人员感兴趣的子项目和分支。本文将讨论受人们关注的三个流行MySQL分 支:Drizzle、MariaDB和Percona Server(包括XtraDB引擎)。文中简要介绍每个分支出现的原因及其目标,以及是否可在...转载 2018-12-22 22:42:44 · 1382 阅读 · 0 评论 -
大型网站技术架构(一)--大型网站架构演化
看完了有一本书,就应该有所收获,有所总结,最近把《大型网站技术架构》一书给看完了,给人的印象实在深刻,再加上之前也搞过书本上讲的反向代理和负载均衡以及session独立存储和缓存,因此书本看起来还是挺通俗易懂的,而且作者李智慧给人的印象(书本)也挺深刻的,我从这本书中也学到了许多,了解的许多,但是理解还是比较抽象的,写出来才是真正的理解,因此准备写一系列的博客来介绍和加深理解大型网站技术架构。说...转载 2018-11-17 14:35:14 · 539 阅读 · 0 评论 -
高性能高可用服务器架构实践(一)
Nginx+Lua(Openresty)高性能WEB服务器搭建原创 2017-03-03 12:44:15 · 1135 阅读 · 0 评论 -
京东抢购服务高并发实践
限时抢购又称闪购,英文Flash sale,起源于法国网站Vente Privée。闪购模式即是以互联网为媒介的B2C电子零售交易活动,以限时特卖的形式,定期定时推出国际知名品牌的商品,一般以原价1-5折的价格供专属会员限时抢购,每次特卖时间持续5-10天不等,先到先买,限时限量,售完即止。转载 2017-04-10 17:24:01 · 1654 阅读 · 0 评论 -
13 款开源全文检索引擎
Lucene的开发语言是Java,也是Java家族中最为出名的一个开源搜索引擎,在Java世界中已经是标准的全文检索程序,它提供了完整的查询引擎和索引引擎,没有中文分词引擎,需要自己去实现,因此用Lucene去做一个搜素引擎需要自己去架构.另外它不支持实时搜索,但linkedin和twitter有分别对Lucene改进的实时搜素. 其中Lucene有一个C++移植版本叫CLucene转载 2017-11-20 10:47:20 · 2435 阅读 · 0 评论 -
PHP使用Solr全文搜索引擎
前言 本来以为网上已经有了类似博文,不想重复,可是一圈搜下来,都是一些内容不甚明了的文章,或者solr版本太过老,参考价值不高,更有甚者,直接拷贝的别人的内容。一篇博客,各大平台都能看到,也不见转载链接。有人说百度搜索不到内容,用谷歌,把责任推到百度身上,但这是百度的原因吗?在国内网络的资源整体质量不高低,并且内容太多重复的情况下,百度能够提供什么高质量的内容给你。也有我搜索资源的时候,会看到IB转载 2017-11-20 11:10:10 · 2681 阅读 · 0 评论 -
最全的MySQL大表优化方案
当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化:单表优化除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的。而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量:字段尽量使用TINYINT、SMALLINT、转载 2017-11-26 21:52:51 · 437 阅读 · 0 评论 -
各类游戏对应服务端架构
卡牌、跑酷等弱交互服务端卡牌跑酷类因为交互弱,玩家和玩家之间不需要实时面对面PK,打一下对方的离线数据,计算下排行榜,买卖下道具即可,所以实现往往使用简单的 HTTP服务器:登录时可以使用非对称加密(RSA, DH),服务器根据客户端uid,当前时间戳还有服务端私钥,计算哈希得到的加密 key 并发送给客户端。之后双方都用 HTTP通信,并用那个key进行RC4加密。客户端收到key和...转载 2018-08-13 16:30:10 · 3977 阅读 · 0 评论 -
充值系列—充值系统数据库设计(一)
在我们的游戏充值模块中,接入了支付宝,苹果,Paypal, googleplay , mycard, mol, 360,机锋,91等各种充值渠道。这篇文章(包括接下来的几篇文章)将对充值系统的需求,数据库设计,构架,充值流程,安全处理,各种渠道的详细接入方式等各个方面做出详细的说明。充值最基本的需求是,玩家付费购买内置商品后得到相应的商品。首先需要解决三个个问题:(1)购买渠道(2)商品的数...转载 2018-10-13 11:02:34 · 8189 阅读 · 1 评论 -
充值系列——充值系统的架构(二)
一篇文章主要介绍了充值系统的基本概要说明和数据库设计。这篇文章主要讨论充值的基本流程和系统架构。简单来说,充值的基本流程就是:玩家选择一个支付平台,选择这个平台下面出售的某个商品,付款成功后玩家会得到所购买的商品。数据交互图玩家客户端指的是浏览器或者SDK。上面数据交互图中需要有几点注意:(1)玩家客户端,游戏服务器,支付平台这三者之间扮演的角色游戏服务器只是提供数据的提供者和数据的...转载 2018-10-13 11:06:31 · 7342 阅读 · 1 评论 -
充值系列——充值系统业务逻辑层实现(三)
上一篇文章主要说明充值的执行逻辑和控制层的设计,这篇文章主要讨论充值业务层的具体实现。正如上一篇文章所说到的,生成订单需要如下几个步骤:(1)实例化操作人 (操作人)(2)实例化产品模型 (获取产品的详细信息)(3)实例化订单模型 (生成一笔状态为“交易中”的订单)(4)实例化支付平台模型 (把生成的订单返回给客户端,并引导用于去充值平台)一个完整的充值系统需要完善以上...转载 2018-10-13 11:17:33 · 3190 阅读 · 0 评论 -
UML流程图
什么是流程图流程图是对过程、算法、流程的一种图像表示,在技术设计、交流及商业简报等领域有广泛的应用。通常用一些图框来表示各种类型的操作,在框内写出各个步骤,然后用带箭头的线把它们连接起来,以表示执行的先后顺序。用图形表示算法,直观形象,易于理解。有时候也被称之为输入-输出图。顾名思义,就是用来直观地描述一个工作过程的具体步骤。这种过程既可以是生产线上的工艺流程,也可以是完成一项任务所必需的管理过...转载 2018-10-13 11:31:11 · 4875 阅读 · 0 评论 -
高性能高可用服务器架构实践(二)
Nginx负载均衡配置原创 2017-03-03 13:27:52 · 681 阅读 · 0 评论