独立在研Golang框架

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gohuge/article/details/84758774

一、框架说明

框架支持大量网络IO、密集性运算和存储服务,开发效率高,复杂度低,招聘容易,支持一下行业特性

  1. 随时开服,一天多服
  2. 业务收尾,多服合并
  3. 疯狂灌人,配置逐步增大
  4. 快速回滚,时间点局部恢复

设计预期

  • 高性能、高容灾、灰度版本管理、热更新、监控
  • 灵活调度、分布式、(master部分)去中心化
  • 高扩展性、云计算、超大容量、动态扩容
  • 数据安全、快速备份还原、每日增量、每周快照、实时写入

框架元件

  • 网络:网络通信包含http、tcp、websocket、udp 协议和消息路由
  • 配置启动:基础组件运行、流程控制、控制台调用
  • 数据存储:数据库操作、本地化、数据散列、灵活转移
  • 分布式:动态管理、灵活调度、云计算和结果归并、脑裂、主从竞争

其他服务

  • 日志服务:日志分类输入、日志转储、日志筛选
  • 缓存服务:本地缓存、独立缓存
  • 全局服务:全局管控服务,中控

二、架构图

三、Download & go get

  1. get依赖库在库的readme中有描述需要get的相关库
  2. get完成后,进入firedog目录 go run ./src/main.go 程序运行
  3. 程序运行后,会启动控制台,exit 退出控制台(控制台调用还在增设中)
  4. 程序启动后,xml会解析xml中配置的内容
  5. xml中的配置解析完毕后,会将定义和声明保持至内存,然后执行init的内容
  6. init中的内容执行完毕,将开始执行mfa

程序启动完毕!

如何使用框架写构建应用

  1. 框架中app目录为应用代码的目录,res为资源文件,conf为配置文件,log为日志文件
  2. 在app中写的程序,可以自己到处调用实现服务启动,也可以通过xml配置调用启动服务
  3. 如果要使用xml配置来启动服务,需要向使用util.Module 注册模块,app目录中有相关实例

四、源码

扫描二维码关注公众号,回复: 4349256 查看本文章

预计2019年3月左右开源,先做一些准备工作。

猜你喜欢

转载自blog.csdn.net/gohuge/article/details/84758774