
服务端
文章平均质量分 77
大并发 VS 高可用
思月行云
吾求吾失且不暇,何暇论人哉?!
君子性非异也,善假于物也。
展开
-
Netty使用kryo序列化传输对象
Netty使用kryo序列化传输对象横渡Netty使用kryo序列化传输对象 - 简书参考文章:https://blog.youkuaiyun.com/eguid_1/article/details/79316403https://blog.youkuaiyun.com/top_co...https://www.jianshu.com/p/e075647275e7参考文章:https://blog.youkuaiyun.com/eguid_1/article/details/79316403https://blog.csdn.ne转载 2022-01-24 11:24:10 · 476 阅读 · 0 评论 -
TCP_NODELAY以及黏包问题
tcp 粘包 和 TCP_NODELAY 学习https://www.cnblogs.com/zhangkele/p/9494280.htmlTCP通信粘包问题分析和解决在socket网络程序中,TCP和UDP分别是面向连接和非面向连接的。因此TCP的socket编程,收发两端(客户端和服务器端)都要有成对的socket,因此,发送端为了将多个发往接收端的包,更有效的发到对方,使用了优化方法(Nagle算法),将多次间隔较小、数据量小的数据,合并成一个大的数据块,然后进行封包。这样,接收端,就难于.转载 2022-01-21 15:38:17 · 7758 阅读 · 1 评论 -
手机格斗网游该如何避免延迟
作者:韦易笑链接:https://www.zhihu.com/question/30204598/answer/47173171来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。帧间同步模式: 帧锁定同步算法 (2007): 玩法规避模式:网络游戏同步法则 (2005) 最好给您们策划看这篇,玩法规避 预测插值模式:影子跟随算法 (2007) FPS, 赛车 提高传输速度: 快速可靠传输协议 (2012)基于UDP的快速可靠协议。摘录第一篇文章如下,我写...转载 2021-12-13 17:48:13 · 510 阅读 · 0 评论 -
netty 基于 protobuf 协议 实现 websocket 版本的简易客服系统
https://segmentfault.com/a/1190000017464313netty 基于 protobuf 协议 实现 websocket 版本的简易客服系统结构netty 作为服务端 protobuf 作为序列化数据的协议 websocket 前端通讯演示GitHub 地址netty 服务端实现Server.java启动类import io.netty.bootstrap.ServerBootstrap;import io.netty.chan.转载 2020-08-14 09:03:59 · 1047 阅读 · 1 评论 -
基于netty搭建websocket,实现消息的主动推送
基于netty搭建websocket,实现消息的主动推送rpf_siwashhttps://www.jianshu.com/p/56216d1052d7netty是由jboss提供的一款开源框架,常用于搭建RPC中的TCP服务器、websocket服务器,甚至是类似tomcat的web服务器,反正就是各种网络服务器,在处理高并发的项目中,有奇用!功能丰富且性能良好,基于java中NIO的二次封装,具有比原生NIO更好更稳健的体验。netty的核心架构在这里插入图片描述..转载 2020-08-13 17:16:15 · 1899 阅读 · 0 评论 -
转自云风blog:三国志战略版服务器卡顿问题
三国志战略版服务器卡顿问题https://blog.codingnow.com/2019/10/sanguo.html我们的新作品 三国志战略版 上线有一小段时间了。市场反应不错,获得了许多玩家。随着玩家数量增加,服务器也产生了严重的卡顿问题,在每天高峰期尤其严重。这个产品的服务器开发团队在立项之初并没有接触过 skynet ,可以说是从头学习起,在很短的时间内就完成了项目,还是很不错的。我没有参加过这个项目的开发,在问题显露的那几天正巧国庆假期在国外度假,远程参与了一些讨论。帮助分析了问题,等转载 2020-05-12 10:24:39 · 2199 阅读 · 0 评论 -
Nginx支持WebSocket反向代理-学习小结
Nginx支持WebSocket反向代理-学习小结WebSocket是目前比较成熟的技术了,WebSocket协议为创建客户端和服务器端需要实时双向通讯的webapp提供了一个选择。其为HTML5的一部分,WebSocket相较于原来开发这类app的方法来说,其能使开发更加地简单。大部分现在的浏览器都支持WebSocket,比如Firefox,IE,Chrome,Safari,Opera,并且...转载 2020-04-28 18:08:42 · 307 阅读 · 0 评论 -
用 Go 语言给 Lua/OpenResty 写扩展
用 Go 语言给 Lua/OpenResty 写扩展https://www.lbbniu.com/3477.html背景最近的一个lua项目中需要解析wbxml,WBXML是XML的二进制表示形式,Exchange与手机端之间的通讯采用的就是该协议,我需要解析到手机端提交过来的数据,以提高用户体验。但是lua没有现成的Wbxml解析库,从头撸一个势必要花费大量造轮子的时间,在网上...转载 2020-04-10 10:56:19 · 1280 阅读 · 0 评论 -
mangos架设魔兽世界私服
http://www.cnblogs.com/linbc/archive/2009/11/20/1606493.html都说魔兽世界是最经典的网游,可惜我沉迷于程序的世界,都没有机会去体会一下!正好看了别人一篇blog,写着怎么架设魔兽世界,想想我就自己动手架一个看看了!等弄完之后,发现,那个服务器是2.3的客户端吧,好像!现在都3.13了,根本没用,后来到去sf.net找了一...原创 2013-06-03 11:20:38 · 1455 阅读 · 0 评论 -
Accept是又产生一个Socket端口吗?
Accept是又产生一个Socket端口吗? 要写网络程序就必须用Socket,这是程序员都知道的。而且,面试的时候,我们也会问对方会不会Socket编程?一般来说,很多人都会说,Socket编程基本就是listen,accept以及send,write等几个基本的操作。是的,就跟常见的文件操作一样,只要写过就一定知道。 对于网络编程,我们也言必称TCP/IP,似...原创 2012-06-09 10:35:13 · 266 阅读 · 0 评论 -
网络游戏制作技术
很不错的教程,可惜只找到了前六章的内容,原创作者也不得而知,希望知情人士告知,感激不尽~转自:http://todhacker.blog.163.com/blog/static/17099044020110814439790/当今网络游戏在中国大陆已经在大范围的蔓延,暂且不论这样的一种趋势会带来什么样的游戏产业趋势。这里只就网络游戏的制作和大家进行交流,同时将自己的制作经验写处理,希望为中...原创 2011-03-01 11:44:25 · 200 阅读 · 0 评论 -
Mir2源码分析
如下文章原创版权归csdn wu_yanan2003所有,转载请按如下方式显式标明出处,以示尊重!作者:wu_yanan2003Bolg:http://blog.youkuaiyun.com/wu_yanan2003[b]简述[/b]最近对高性能的服务器比较感兴趣,读过了DELPHI的Socker源码WebService及RemObject之后,高性能的服务器感兴趣。你可能需要...原创 2011-02-16 12:00:28 · 1685 阅读 · 3 评论 -
SNS应用开发架构建议
2011年,各大平台相继开放,相信关注的朋友都应该知道,6月15日,腾讯也召开了开发者大会,在这里笔者不想就开放本身做太多讨论,作为一个技术博客,我们还是专注讨论技术架构吧。笔者在腾讯主要负责腾讯开放openapi的开发,也确实见到了不少应用由于架构不当,导致开发维护成本非常高的例子,更重要的是接入成本非常高导致落在了别的应用后面,所以,笔者在这里会结合腾讯开放的一些特点,给应用开发者一点建议...原创 2012-07-21 11:43:01 · 189 阅读 · 0 评论 -
使用IntelliJ IDEA配置Erlang开发环境
使用IntelliJ IDEA配置Erlang开发环境https://www.cnblogs.com/jasonduan/p/5175660.html转自:http://blog.youkuaiyun.com/witton/article/details/50551022Idea工具是目前我使用过的开发Erlang最好用的IDE,但其Erlang插件的官方教程太简陋,我就想自己做一个相对详细的教程...转载 2019-12-17 11:56:23 · 4324 阅读 · 0 评论 -
如何在 OpenResty 中使用 websocket
如何在 OpenResty 中使用 websockethttps://hambut.com/2016/10/13/how-to-use-websocket-in-openresty/前言作为一个游戏从业者不可能不使用推方案,以前一直使用nginx-push-stream-module这个模块的Forever Iframe模式来实现推方案。最近决定研究下lua-resty-...转载 2019-12-09 14:28:32 · 2769 阅读 · 0 评论 -
30 分钟学 Erlang
30 分钟学 Erlang (一)Shawn_xiaoyuhttps://www.jianshu.com/p/b45eb9314d1e本文写给谁看的?那些已经有过至少一门编程语言基础,并且需要快速了解Erlang,掌握其基本要点,并马上投入工作中的人。文章挺长,所以分成了几篇。但只要掌握了本文中提到的这些知识点,你就可以上手工作了。剩下的就是在实践中继续学习。Erlang 读...转载 2019-12-06 11:09:27 · 2168 阅读 · 4 评论 -
理解lua中的metatable和__index
Lua 学习笔记——metatable和__index版权声明:本文为博主Fisher1006原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.youkuaiyun.com/fishe_r/article/details/77530369最近学习lua今天突然对metatable和__index之间的关系有点不清楚,上网查了...转载 2019-11-28 14:35:05 · 1033 阅读 · 0 评论 -
VSCode插件开发全攻略
原文:VSCode插件开发全攻略(一)概览作者:小茗同学文章索引VSCode插件开发全攻略(一)概览 VSCode插件开发全攻略(二)HelloWord VSCode插件开发全攻略(三)package.json详解 VSCode插件开发全攻略(四)命令、菜单、快捷键 VSCode插件开发全攻略(五)跳转到定义、自动补全、悬停提示 VSCode插件开发全攻略(六)开发调试技...转载 2019-11-27 10:17:28 · 647 阅读 · 0 评论 -
Openresty各个阶段的执行次序
作者:haojiliang本文链接:https://blog.youkuaiyun.com/iaiot/article/details/86362290https://blog.iaiot.com/openresty-lua-nginx-module.html上图来源:https://github.com/openresty/lua-nginx-module#directivesinit...转载 2019-11-26 13:41:08 · 1821 阅读 · 0 评论 -
游戏服务端究竟解决了什么问题?
fingerpass游戏服务端究竟解决了什么问题?1.写在前面 既然是游戏服务端程序员,那博客里至少还是得有一篇跟游戏服务端有关的文章,今天文章主题就关于游戏服务端。 写这篇博客之前也挺纠结的,一方面是因为游戏服务端其实不论架构上还是具体一些逻辑模块的构建,都属于非常成熟的技术,举个简单的例子,像端游的多zone/scene/game进程+单全局进程架构,网上...转载 2019-11-14 14:02:26 · 530 阅读 · 0 评论 -
Netty浅析
Netty浅析 - 1. 基础https://www.jianshu.com/p/5e8e9d458c5c前言在了解一个事物之前,最好能对它的基本属性和相关概念有个基本的认知,所以学习Netty之前,也有必要了解与Netty相关的基础概念知识;本篇将对Netty做一个基础性的介绍,主要包括Netty的适用场景,特色以及基础的IO知识,如果你已经了解这些知识,也可以跳过本篇,直接进入下一...转载 2019-10-14 14:50:53 · 450 阅读 · 0 评论 -
Photon-Mmo范例官方文档总结
http://cl314413.blog.163.com/blog/static/1905079762012102124637521/前言:本简易文档主要翻译自Photon官方Mmo文档,也加入了一些自己的理解和提示,以后会尝试着用自己的项目来讲一讲具体的开发流程。当然。。水平问题,肯定会有我不知道的错误,建议对照着英文原版来看。(虽然这货耽误了我两个月时间,但还是想说好值啊!)不多废话了...转载 2019-08-09 13:52:01 · 455 阅读 · 0 评论 -
Rust 与服务端编程的碎碎念
Rust 与服务端编程的碎碎念https://zhuanlan.zhihu.com/p/30028047Rust 是 Mozilla 推出的一门系统编程语言,非常看重内存安全,是一门非常优秀的语言。Mozilla 用它构建了其下一代的浏览器内核 servo,其工程能力毋庸置疑。那么,Rust在服务端编程领域会有什么建树呢?我们从最简单的服务端程序模型开始说:工作上,我们经常会去写一...转载 2019-03-29 16:06:05 · 1778 阅读 · 0 评论 -
netty框架实现websocket达到高并发
websocket(三) 进阶!netty框架实现websocket达到高并发引言:在前面两篇文章中,我们对原生websocket进行了了解,且用demo来简单的讲解了其用法。但是在实际项目中,那样的用法是不可取的,理由是tomcat对高并发的支持不怎么好,特别是tomcat9之前,可以测试发现websocket连接达到的数量很低,且容易断开。所以有现在的第三篇,对websocket的一...转载 2019-03-06 11:49:54 · 2590 阅读 · 0 评论 -
.NET Core微服务之路:利用DotNetty实现一个简单的通信过程
.NET Core微服务之路:利用DotNetty实现一个简单的通信过程 上一篇我们已经全面的介绍过《基于gRPC服务发现与服务治理的方案》,我们先复习一下RPC的调用过程(笔者会在这一节的几篇文章中反复的强调这个过程调用方案),看下图根据上面图,服务化原理可以分为3步: 服务端启动并且向注册中心发送服务信息,注册中心收到后会定时监控服务状态(常见心跳检测); 客户端...转载 2019-03-06 11:48:56 · 3661 阅读 · 0 评论 -
浅谈 OpenResty
https://blog.youkuaiyun.com/yhclt/article/details/79309237一.前言我们都知道Nginx有很多的特性和好处,但是在Nginx上开发成了一个难题,Nginx模块需要用C开发,而且必须符合一系列复杂的规则,最重要的用C开发模块必须要熟悉Nginx的源代码,使得开发者对其望而生畏。为了开发人员方便,所以接下来我们要介绍一种整合了Nginx和lua的框架...转载 2018-12-21 17:53:43 · 204 阅读 · 0 评论 -
微服务动态路由实现:OpenResty+K8s
作者: xudawenfighting 原文:https://blog.youkuaiyun.com/xudawenfighting/article/details/80125723K8sService能够提供很强大的功能,通过提供ClusterIP可以作为Pod的对外访问接口,并提供软负载均衡。但是Service的ClusterIP地址只能在集群内部访问,如何让集群外部的用户访问Service呢,如...转载 2018-12-20 13:46:21 · 1257 阅读 · 0 评论 -
使用Nginx+Lua(OpenResty)开发高性能Web应用
使用Nginx+Lua(OpenResty)开发高性能Web应用原文链接:http://jinnianshilongnian.iteye.com/blog/2280928在互联网公司,Nginx可以说是标配组件,但是主要场景还是负载均衡、反向代理、代理缓存、限流等场景;而把Nginx作为一个Web容器使用的还不是那么广泛。Nginx的高性能是大家公认的,而Nginx开发主要是以C/C++模...转载 2018-12-20 13:42:01 · 275 阅读 · 0 评论 -
京东三级列表页持续架构优化—Golang+Lua(OpenResty)最佳实践
http://www.sohu.com/a/119466814_494947作者:谢刚,京东商城架构师,负责京东分类列表、凤凰等系统的架构开发工作;之前在搜狐视频负责UGC视频架构开发工作。***招聘:京东列表页目前有Java、Golang、Lua(OpenResty)、数据挖掘等职位,欢迎投简历到xiegang@jd.com,期待与您的合作***承接上篇《》。分类列表入口...转载 2018-11-02 13:33:36 · 1185 阅读 · 0 评论 -
关于 Openresty 的两三事
http://lua.ren/topic/135/%E5%85%B3%E4%BA%8E-openresty-%E7%9A%84%E4%B8%A4%E4%B8%89%E4%BA%8B基础原理 Nginx 采用的是 master-worker 模型,一个 master 进程管理多个 worker 进程,基本的事件处理都是放在 woker 中,master 负责一些全局初始化,以及对 wor转载 2016-08-02 17:28:25 · 4482 阅读 · 0 评论 -
Ubuntu 18.04 下搭建 C/C++编译开发环境及GCC多版本切换
https://www.linuxidc.com/Linux/2019-04/158258.htm本文详细记录在Ubuntu18.04.2 下搭建 C/C++编译开发环境的步骤,Ubuntu 18.04.2预装GCC版本为7.4,但有时在编译是需要用的不同gcc版本,下面就介绍如何安装不同的gcc 和g++版本,并设置根据不同的需要在不同版本之间切换。1. 环境准备首先需要安装gcc...转载 2019-04-26 13:41:16 · 6119 阅读 · 0 评论 -
Java高阶入门N篇
java 泛型详解Java编程之委托代理回调、内部类以及匿名内部类回调(闭包回调)Java基础-异常-throws Exception-抛声明Netty入门(最简单的Netty客户端/服务器程序)Netty对WebSocket的支持(五)Java中Lambda表达式的使用...转载 2019-04-22 18:29:55 · 409 阅读 · 0 评论 -
使用ZeroBrane Studio调试OpenResty Lua脚本
本文固定链接:http://blog.sunqiang.me/2017/08/07/使用zerobrane-studio调试openresty和nginx-lua脚本/ 转载请注明:sunny51562017年08月07日于技术人生-孙强发表ZeroBrane Studio已被用于调试各种Lua引擎 – 游戏框架(如Corona,Gideros,Moai,Love2d)...转载 2019-07-23 11:15:05 · 1048 阅读 · 1 评论 -
erlang四大behaviour简述
应用erlang的behaviour 框架(gen_server,gen_fsm,gen_event,supervisor)在处理很多情况的时候省下大量不必要的代码,使用的时候在框架基础添加自定义逻辑就可以搭建项目了,可以说是精髓。gen_server:提供的是client和server之间,请求和回调的处理。 Client --请求-->Server Serve...转载 2019-07-16 10:46:04 · 1850 阅读 · 0 评论 -
C语言入门之C语言开发环境搭建
C语言入门之C语言开发环境搭建集成环境下载地址:http://pan.baidu.com/s/1skMaZ6H版权声明:本文为博主原创文章,转载请注明文章地址 https://blog.youkuaiyun.com/hnzcdy/article/details/53027832 C语言被誉为不老常青树,也是作为高级开发者必备的技术,这里今天我来为大家介绍,如何一步一步从零基础开始搭...转载 2019-07-18 11:40:32 · 16923 阅读 · 10 评论 -
几种常见的可靠UDP传输协议(包含C#实现)
几种UDP网络库的整理Raknet,UDT,ENet,lidgren-network-gen3http://blog.youkuaiyun.com/u014630768/article/details/34895367UDT库 https://sourceforge.net/projects/udt/?source=directory C#包装:https://github.com/dump...转载 2019-06-11 16:38:44 · 7433 阅读 · 4 评论 -
[强烈推荐] 新手入门:目前为止最透彻的的Netty高性能原理和框架架构解析
新手入门:目前为止最透彻的的Netty高性能原理和框架架构解析1、引言Netty是一个广受欢迎的异步事件驱动的Java开源网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。本文基于Netty 4.1展开介绍相关理论模型,使用场景,基本组件、整体架构,知其然且知其所以然,希望给大家在实际开发实践、学习开源项目方面提供参考。本文作者的另两篇《高性能网络编程(五):一...转载 2019-06-21 11:29:33 · 1065 阅读 · 0 评论 -
CentOS7通过yum安装Openresty
yum安装openresty在群里看到春哥发的,先记录下来。一切都以官网为准,以后安装部署生态会越来越完善的。OpenResty 官方现在开始维护自己的打包虚机集合了,新的 linux 包仓库正在陆续登陆 openresty.org 官网。欢迎大家试用!原来老源的用户可以先禁用掉老的 openresty 源。在 CentOS 系统上使用新的官方 yum 源的方法是:sudo yum...转载 2019-05-17 11:43:41 · 2095 阅读 · 0 评论 -
C#中的委托和Java中的“委托”(Java8 lambda表达式)
Java8中新增了有关对lambda表达式的支持,其本质是一种编译阶段的语法糖,效果是双向的,代码看似简洁的前提下牺牲了部分可读性。我们可以尝试实现一些有意思的东西,先来看段C#委托(delegate)的代码namespace Hello{ class Program { static Action<int> callback; ...原创 2019-04-25 18:34:39 · 3294 阅读 · 4 评论 -
游戏服务器框架概括分析
游戏服务器框架概括分析这篇blog题目涉及的范围真大!以至于在这里需要先写一篇前言把范围缩小。选择写这样一个系列的文章,主要是想给工作了两年的自己一个交代,或者说是一个阶段性的总结。两年时间里,房价依然再涨,工资依然跑不赢CPI,某人依然在仰望星空。期间很多梦碎了,很多还在坚持着,生活过得波澜不惊。而我也从刚毕业是的青涩逐步蜕变为“老油条”。不知道是一种悲哀、还是一种悲哀、还是一种悲哀.......转载 2019-05-05 16:00:47 · 8713 阅读 · 2 评论