比起slave/harbor集群模式,skynet提供了用的更为广泛的cluster集群模式,参考官方wiki https://github.com/cloudwu/skynet/wiki/Cluster。cluster模式利用socketchannel库(http://www.cnblogs.co ...
分类:
Web程序 时间:
2018-04-21 21:19:49
阅读次数:
686
请求回应模式是与外部交互最常用的模式之一。通常协议设计方式有两种:1.每个请求包对应一个回应包,有tcp保证时序,先请求的先回应,但不必收到回应才发送下一个请求,redis的协议就是这种类型;2.每个请求带一个唯一的session标识,回应包也带这个标识。这样每个请求不一定都需要回应,且不用遵循先请 ...
分类:
Web程序 时间:
2018-04-20 20:40:55
阅读次数:
420
Lua5.2笔记 最近用skynet,sproto通讯,完全看不懂通讯二进制是怎么写的,发现都是string这个,string那个,完全理解不来。 于是查了一下string.pack的api,和之前别的语言里面用的writeByte,writeShort,writeUnsignedInt这样的写法完 ...
分类:
其他好文 时间:
2018-04-02 13:41:08
阅读次数:
115
本文将在前文的基础上介绍在kubernetes集群环境中配置dns服务,在k8s集群中,pod的生命周期是短暂的,pod重启后ip地址会产生变化,对于应用程序来说这是不可接受的,为解决这个问题,K8S集群巧妙的引入的dns服务来实现服务的发现,在k8s集群中dns总共需要使用4个组件,各组件分工如下:etcd:DNS存储kube2sky:将KubernetesMaster中的service(服务)
分类:
Web程序 时间:
2018-02-01 22:05:56
阅读次数:
330
运行时,把输入法关掉,切换成系统自带的输入法即可; 第二个类是自定义的键值Map集合,主要是为了方便输入字符串,有需要的可以自行添加; 主要的代码如下,会创建一个名称为Automaton.java的类,并输出"Hellow Word,I am a skynet" 下面是储存键值的map类,只有一些常 ...
分类:
编程语言 时间:
2017-12-15 11:38:30
阅读次数:
221
引言: 之前我们已经完成了在Linux下配置安装 skynet 的环境,并成功启动了 skynet 服务框架,为了从底层更好地理解整个框架的实现过程,我们有必要剖析一下源码,由于底层的源码都是用C语言写的,lua脚本基本是用来进行业务层开发,所以我们从C源码开始解读框架。打开下载包的 skynet- ...
分类:
Web程序 时间:
2017-11-27 20:08:21
阅读次数:
272
根据云风博客的描述,Skynet 的核心功能就是解决一个问题: 把一个符合规范的 C 模块,从 动态库(so文件)中启动起来,绑定一个永不重复(即使模块退出)的数字id做为其 handle。模块 被称为 服务(Service),服务间可以自由发送消息。 每个 模块 可以向 Skynet 框架注册一个 ...
分类:
Web程序 时间:
2017-11-27 19:58:34
阅读次数:
421
服务器重启报错,skynet服务缺陷,lua死循环,修改配置文件 ...
分类:
Web程序 时间:
2017-11-20 19:03:02
阅读次数:
168
sproto的简介略过,这里直接上代码,新建proto.lua文件,内容如下: local sprotoparser = require "sprotoparser"local proto = {}proto.c2s = sprotoparser.parse [[.package {type 0 :... ...
分类:
Web程序 时间:
2017-11-08 19:50:20
阅读次数:
333
接上一篇分析《skynet服务之launcher》,本篇我们继续来分析一下lua中的协程如何与服务有机结合的,关于lua中协程的解释参见本文《lua中协程的理解》; 上一篇分析到,当一个lua服务收到消息后,在lua层,最终会执行到raw_dispatch_message函数,代码如下: local... ...
分类:
Web程序 时间:
2017-10-31 15:53:57
阅读次数:
432