前言
Golang 是 Google 在2007年发布的一门开源的静态编译型编程语言,在垃圾回收、结构类型以及并发编程的处理上拥有自己的独到之处,近年来更是成为使用频率上升速度最快的编程语言之一。
想必大家对于 Golang 的大名早已有所耳闻,而今天作者菌则准备通过自己的一个开源项目 GoCollaborate 为例,给大家介绍一下我们如何利用Golang快速开发高性能服务器集群,并将之应用到能源网络,量化交易,区块链,机器学习等等大数据计算场景。
GoCollaborate 是什么?
很多同学看到这里可能会问了,这个框架什么?我又能用它来做什么呢?
简而言之,
GoColaborate 是一个提供分布式服务管理搭建的轻量级通用框架,您可以轻松地用它进行编程,构建扩展,以及创建自己的高性能分布式服务。
有相关从业经验的同学可能听说过 Apache Hadoop,阿里的 Dubbo 以及 Facebook 的 Thrift,一套工具集下来是不是感觉晕头转向呢?不要紧,我们在这姑且暂时把它当成一个轻量级的 Hadoop 好了,随着教程展开,让我们一起来体验Golang的神奇魅力。
目录 (进行中...)
- 初始化项目结构
- 启动命令行
- 日志模组搭建
- 本地函数管理
4.1. 函数注册
4.2. 函数调用
4.3. 函数执行返回值监听
4.4. 哈希函数 - 服务器核心模组搭建
5.1. Master-Worker 模式
5.2. Task 的定义与优先级调度机制
5.3. 定制任务 runtime 环境 TaskContext
5.4. 任务发布器 Publisher 的设计 - RPC 通讯机制的应用
6.1. 网络地址管理
6.2. 同步通讯
6.3. 任务分发及异步调用
6.4. 映射表map的进程安全设计 - Restful 框架设计
7.1. JSON API 标准
7.2. JSON Schema 的应用 - 微服务框架搭建与管理
8.1. Service 的初始化
8.2. Service 的注册与订阅
8.3. 微服务路由设计 - Map-Reduce 的实现
9.1. Mapper 接口
9.2. Reducer 接口 - 内存管理及 Garbage Collection 机制
在这里作者菌也说句题外话,俗语有言,冰冻三尺非一日之寒,GoCollaborate 社区需要借助大家的力量才能继续成长,欢迎 star,欢迎 fork ,更欢迎各位大虾提交代码哦~
有疑问加站长微信联系(非本文作者)