前言

Golang 是 Google 在2007年发布的一门开源的静态编译型编程语言,在垃圾回收、结构类型以及并发编程的处理上拥有自己的独到之处,近年来更是成为使用频率上升速度最快的编程语言之一。

想必大家对于 Golang 的大名早已有所耳闻,而今天作者菌则准备通过自己的一个开源项目 GoCollaborate 为例,给大家介绍一下我们如何利用Golang快速开发高性能服务器集群,并将之应用到能源网络,量化交易,区块链,机器学习等等大数据计算场景。

GoCollaborate 是什么?

很多同学看到这里可能会问了,这个框架什么?我又能用它来做什么呢?

简而言之,

GoColaborate 是一个提供分布式服务管理搭建的轻量级通用框架,您可以轻松地用它进行编程,构建扩展,以及创建自己的高性能分布式服务。

有相关从业经验的同学可能听说过 Apache Hadoop,阿里的 Dubbo 以及 Facebook 的 Thrift,一套工具集下来是不是感觉晕头转向呢?不要紧,我们在这姑且暂时把它当成一个轻量级的 Hadoop 好了,随着教程展开,让我们一起来体验Golang的神奇魅力。


目录 (进行中...)
  1. 初始化项目结构
  2. 启动命令行
  3. 日志模组搭建
  4. 本地函数管理
    4.1. 函数注册
    4.2. 函数调用
    4.3. 函数执行返回值监听
    4.4. 哈希函数
  5. 服务器核心模组搭建
    5.1. Master-Worker 模式
    5.2. Task 的定义与优先级调度机制
    5.3. 定制任务 runtime 环境 TaskContext
    5.4. 任务发布器 Publisher 的设计
  6. RPC 通讯机制的应用
    6.1. 网络地址管理
    6.2. 同步通讯
    6.3. 任务分发及异步调用
    6.4. 映射表map的进程安全设计
  7. Restful 框架设计
    7.1. JSON API 标准
    7.2. JSON Schema 的应用
  8. 微服务框架搭建与管理
    8.1. Service 的初始化
    8.2. Service 的注册与订阅
    8.3. 微服务路由设计
  9. Map-Reduce 的实现
    9.1. Mapper 接口
    9.2. Reducer 接口
  10. 内存管理及 Garbage Collection 机制