golang 分布式框架Origin学习笔记

本文介绍了选择Golang分布式框架Origin的原因,详细讲述了服务安装、RPC使用细节以及Origin的核心思想。通过配置cluster.json实现服务的动态装载,强调了配置化设计的优势,如服务配置对外透明、灵活应对开发和生产环境的伸缩。
摘要由CSDN通过智能技术生成

最近项目的后端需求是全球同服的,在使用语言方面确定了为golang之后,了解了一下当前的一些goalng游戏服务器框架,终于在leaf/pitaya/ 等众多框架中选择了 Origin, 主要是因为它是分布式框架,微服务架构,比较匹配做全球同服需求下的功能模块分离。
| 各个框架对比
(后续2021.08.04补充更正一下,Origin的服务发现功能现已实现,参看Origin服务发现详解

目前基本已经上手,现在总结归纳一下一些需要注意和记住的点:

1、服务的安装

步骤如下:

  1. 服务的实现
    定义一个组合了service.Service的结构体,它就是一个服务了

  2. 服务的预加载
    在服务实现的package的init函数中使用 node.setup就可以预加载服务了, 预加载之前根据需要设置服务的Name, 与后面配置servicelist中的名字对应,默认是服务结构体的名称.

  3. 服务配置
    在config/cluster.json 中可以配置每个节点的servicelist, 添加节点想要装载的服务名即可.

  4. main.go中导入服务package
    这点是很容易忽略的点,一不小心就容易搞忘记了, 一定要在main.go中import

2、rpc的使用细节

在Origin中rpc的接口及注释如下:	
	// 异步, rpc首选, 不会阻塞本服务
	AsyncCall(serviceMethod string,args interface{
   },callback interface{
   }) error
	// 同步等待调用结果
	Call(serviceMethod string,args interface{
   
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Golang分布式任务框架是使用Golang编程语言开发的一种工具,用于简化分布式环境下的任务调度和处理。 首先,Golang分布式任务框架提供了一个简单而强大的任务调度器,可以将任务分配给不同的节点进行并行处理。这个调度器可以根据任务的类型和优先级来动态地分配任务,并且可以实时监控任务的执行情况和进度。 其次,该框架提供了一套灵活的任务管理机制,可以方便地定义和管理任务。我们可以通过编写简单的代码来定义任务的逻辑,并且可以为任务设置各种参数,例如执行时间间隔、重试次数等。此外,该框架还支持任务的持久化存储,确保任务在节点故障或系统重启后能够正确地恢复和继续执行。 此外,Golang分布式任务框架还提供了一套高效的通信机制,用于节点之间的消息传递和数据交换。通过这种通信机制,不同节点之间可以共享任务和数据,实现更加高效和协同的任务处理。此外,该框架还支持集群的动态扩展和节点的负载均衡,以应对不同规模和负载的分布式环境。 总结来说,Golang分布式任务框架通过提供强大的任务调度、任务管理和通信机制,简化了分布式环境下的任务处理。它具有灵活、高效和可靠的特点,适用于各种规模和负载的分布式系统应用。通过使用该框架,我们可以更加轻松地开发和管理分布式任务,提高系统的性能和可扩展性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值