需要掌握:
基于分布式消息队列的服务器框架;
对进程、线程、协程有概念;
有异步开发思想。
背景:
项目中经常有异步rpc调用,需要写回调方法,语法上看着不顺眼(有点小傲娇),想通过同步的写法实现异步操作。
研究:
在网上找了一下java的协程框架,主要有quasar、kilim两种,还有一些协程插件(同事以前项目用过,有一些坑),主要研究了一下quasar,原理不讲了,网上很多。
研究中发现其实协程并不适合有状态的消息队列模式(或者我没想到解法),个人感觉比较适合平行执行多个相同逻辑的框架,比如web项目线程池结构,可以做成协程池,当协程执行数据库等IO阻塞操作的时候,就可以让出CPU给别的协程,性能提升的例子网上也有很多。
就我做的项目结构而言,预计会增加性能开销,换来的是语法的便捷。
环境配置
maven环境
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
<

本文探讨了如何结合quasar协程框架来构建一个基于分布式消息队列的游戏服务器项目。作者强调了对协程、线程和异步开发的理解,并指出quasar协程在处理无状态消息队列模式时的优势,尽管可能存在性能开销,但能提供更简洁的语法。文章介绍了配置quasar的maven环境和jvm参数,并展示了简单的协程代码示例,同时定义了项目中的进程、线程和服务类结构。
最低0.47元/天 解锁文章
755

被折叠的 条评论
为什么被折叠?



