开源|一个在 Go 语言环境中完全自主实现的第三方内存管理库

Posted 开发者头条

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开源|一个在 Go 语言环境中完全自主实现的第三方内存管理库相关的知识,希望对你有一定的参考价值。

以下内容选自「码农周刊 VIP 会员」圈子,每日更新,精彩不断。

XMM 是一个在 Go 语言环境中完全自主实现的第三方内存管理库,不依赖于 Go 本身的任何内存管理能力,纯自主实现的 Go 内存管理库。

XMM 能够应对各种场景下大小内存的分配/释放/管理等工作,能够帮助适用于任何复杂数据结构的构建(链表/数组/树/hash 等场景),能够良好完美的逃逸掉 Go 内置的 GC 机制,保证程序的超高性能,是构建高性能程序基础设施。

go语言熟知的开源项目

go语言在国内是比较火的,并且好多公司都用go语言进行重构之前的系统,今天来看下基本大家都知道的go语言的开源项目

1、Docker

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或包装系统。

2、Kubernetes

Kubernetes 是来自 Google 云平台的开源容器集群管理系统。基于 Docker 构建一个容器的调度服务。该系统可以自动在一个容器集群中选择一个工作容器供使用。其核心概念是 Container Pod。

3、Prometheus

Prometheus 是一个开源的服务监控系统和时间序列数据库, 提供监控数据存储,展示,告警等功能

4、Traefik

Tr?f?k 是一个新型的http反向代理、负载均衡软件,能轻易的部署微服务. 它支持多种后端 (Docker, Swarm, Mesos/Marathon, Consul, Etcd, Zookeeper, BoltDB, Rest API, file...) ,可以对配置进行自动化、动态的管理

5、Grafana

Grafana 是一个用于监控指标分析和图表展示的工具, 后端支持 Graphite, InfluxDB & Prometheus & Open-falcon等, 它是一个流行的监控组件, 目前在各大中小型公司中广泛应用

6、Openfalcon

OpenFalcon是一款小米开源的监控系统。功能:数据采集免配置:agent自发现、支持Plugin、主动推送模式; 容量水平扩展:生产环境每秒50万次数据收集、告警、存储、绘图,可持续水平扩展。告警策略自发现:Web界面、支持策略模板、模板继承和覆盖、多种告警方式、支持回调动作。告警设置人性化:支持最大告警次数、告警级别设置、告警恢复通知、告警暂停、不同时段不同阈值、支持维护周期,支持告警合并。历史数据高效查询:秒级返回上百个指标一年的历史数据。Dashboard人性化:多维度的数据展示,用户自定义Dashboard等功能。架构设计高可用:整个系统无核心单点,易运维,易部署。

7、Harbor

容器应用的开发和运行离不开可靠的镜像管理。从安全和效率等方面考虑,部署在私有环境内的Registry是非常必要的。Project Harbor是由VMware公司中国团队为企业用户设计的Registry server开源项目,包括了权限管理(RBAC)、LDAP、审计、管理界面、自我注册、HA等企业必需的功能,同时针对中国用户的特点,设计镜像复制和中文支持等功能

8、istio

Istio是由Google、IBM和Lyft开源的微服务管理、保护和监控框架。使用istio可以很简单的创建具有负载均衡、服务间认证、监控等功能的服务网络,而不需要对服务的代码进行任何修改。

9、influxdb

一个可以水平扩展的时间序列数据库, 内建http api, 支持对数据打tag,灵活的查询策略和数据的实时查询,支持类sql语句进行查询

10、go-ethereum

go-ethereum客户端通常被称为geth,它是个命令行界面,执行在Go上实现的完整以太坊节点。通过安装和运行geth,可以参与到以太坊前台实时网络并进行以下操作:a. 挖掘真的以太币 b. 在不同地址间转移资金 c .创建合约,发送交易 d . 探索区块历史 e.很多其他功能

11、beego

beego是一个用Go开发的应用框架,思路来自于tornado,路由设计来源于sinatra

更多go开源项目了解,查看https://github.com/avelino/awesome-go



以上是关于开源|一个在 Go 语言环境中完全自主实现的第三方内存管理库的主要内容,如果未能解决你的问题,请参考以下文章

(转载)Go语言开发环境配置

go语言熟知的开源项目

go语言笔记——go环境变量goroot是安装了路径和gopath是三方包路径

自主开发编程语言被指Python套壳,中科院开发者道歉

自主开发编程语言被指Python套壳,中科院开发者道歉

6.3 利用Go语言接口进行Mock单元测试