Kubernetes 原生 API 网关 Gloo
Gloo 是一个基于 Envoy 的 Kubernetes 原生入口控制器和下一代 API 网关。Gloo 在函数级路由方面表现卓越,它支持传统应用程序、微服务与 Serverless。Gloo 设计独特,可支持混合应用,其中的多种技术、架构、协议和云可以共存。 ![image](https://static.oschina.net/uploads/space/2019/0709/182422_sWr6_3820517.png)阅读全文
Gloo 是一个基于 Envoy 的 Kubernetes 原生入口控制器和下一代 API 网关。Gloo 在函数级路由方面表现卓越,它支持传统应用程序、微服务与 Serverless。Gloo 设计独特,可支持混合应用,其中的多种技术、架构、协议和云可以共存。 ![image](https://static.oschina.net/uploads/space/2019/0709/182422_sWr6_3820517.png)阅读全文
Ambassador 是一个基于 Envoy 构建的 Kubernetes 原生 API 网关,专为微服务而设计,它本质上是一个 Envoy 入口控制器,但具有更多功能。 ![image](https://static.oschina.net/uploads/space/2019/0709/181424_9AuX_3820517.png) 关键特性包括: * 自助服务配置,通过 Kubernetes 注解 * 支持 gRPC、HTTP/2 与 WebSockets * 支持 C...阅读全文
lazydocker,一个简单的 docker 和 docker-compose 终端用户界面,用更懒惰的方式来管理所有的 docker。 其界面采用 [gocui](https://www.oschina.net/p/gocui) 开发。 #### **特点** * 可以清楚地查看 docker 或 docker-compose 容器环境的状态 * 查看容器/服务的日志 * 查看容器度量的 ascii 图 * 可以自定义图来测量任何想要测量的 * 重新启动、移除、重建容器和...阅读全文
Olivia 是带有人工神经网络的人工智能聊天机器人。 ![image](https://static.oschina.net/uploads/space/2019/0617/141938_28Mx_4105562.png) ### 使用 要使用 REST Api,必须使用两个参数建立对 `/api/response` 的 `POST` 请求: * `sentence` 这是要发送给 Olivia 的消息 * `authorId` 这是一个任意 ID,用于标识用户进行上下文聊天 ...阅读全文
![image](https://static.oschina.net/uploads/space/2019/0627/192201_Pvxr_3734192.png) ORY Hydra 是针对低延迟,高吞吐量和低资源消耗而优化的强化 OAuth2 和 OpenID Connect Server,也就是一个 OAuth 2.0 的服务端框架,它能够发出访问、刷新和 ID 令牌。Ory Hydra 不提供用户管理(登录、注销、配置文件管理、注册),而是使用基于重定向的流和 REST API 将...阅读全文
unioffice 是一个纯 Go 的开源库,实现对 Office Word、Excel 和 PowerPoint 文件的创建和处理功能。 其目标是成为一个兼容性最强,性能最好的 Go 语言 Office 文档处理库。 ![UniOffice](https://static.oschina.net/uploads/img/201905/31221621_LwmS.png) ![https://github.com/unidoc/unioffice/](https://static.oschi...阅读全文
mlog-wxbot,微信公众号文章采集。 **功能简介** * 机器人关注技术相关的公众号,当这些公众号推送文章的时候,机器人就能够收到消息,然后将消息对应的文章内容抓取下来,通过该方式能第一时间获取到自己关注的公众号中的新文章。 * 在抓取到微信的文章之后,会利用百度 ai 自动为文章分组打标签。 * 然后根据配置会将文章推送到指定的接口,以实现文章发表功能。 **存在的问题** * 因为微信机器人使用的是网页版微信 api,所以要求你的微信号码能够登录网页版微信,并...阅读全文
Volcano 是基于 Kubernetes 的批处理系统,源自于华为云 AI 容器。Volcano 方便 AI、大数据、基因、渲染等诸多行业通用计算框架接入,提供高性能任务调度引擎,高性能异构芯片管理,高性能任务运行管理等能力。 ## 整体架构 ![volcano](https://static.oschina.net/uploads/img/201907/03110508_8Omm.png) Volcano 提供一整套目前 K8S 在批量和弹性工作负载处理中缺失的机制,包括: 1. ...阅读全文
GoAlert 是一个待机任务调度与警报工具,支持自动上报与通知(通过 SMS 或语音通话),以在正确的时间以正确的方式自动通知到对应的负责人。 ![image](https://static.oschina.net/uploads/space/2019/0617/143154_NUY1_3820517.png) 特性: * 可以自定义 GoAlert 给他人发送通知,保证在你不方便的时候也不会错过任何警报 * 管理团队任务,控制待机人员并快速查看相关信息 * GoAlert ...阅读全文
# gtoken 介绍 基于gf框架的token插件,通过服务端验证方式实现token认证;已完全可以支撑线上token认证,并支持集群模式;使用简单,大家可以放心使用; 1. 支持单机gcache和集群gredis模式; <pre><code># 配置文件 # 缓存模式 1 gcache 2 gredis cache-mode = 2 </code></pre> 1. 支持简单token认证 2. 加入缓存自动续期功能 <pre><code>// 注:通过MaxRefresh...阅读全文
小米即时消息云MIMC:xiaoMI Messaging Cloud MIMC是小米自研的一种安全、可靠、易用的分布式IM云服务。为广大开发者提供免费快捷的即时通讯接入服务。MIMC基于多年小米通讯技术积累,让即时通讯不再复杂。 目前开发者可在PC端打开链接小米开放平台查看小米即时消息云的介绍和API接入文档,SDK下载等。 [https://dev.mi.com/console/appservice/mimc.html](https://dev.mi.com/console/appser...阅读全文
Wayne 是一个通用的、基于 Web 的 Kubernetes 多集群管理平台。通过可视化 Kubernetes 对象模板编辑的方式,降低业务接入成本, 拥有完整的权限管理系统,适应多租户场景,是一款适合企业级集群使用的发布平台。 Wayne已大规模服务于360搜索,承载了内部绝大部分业务,稳定管理了近千个业务,上万个容器,运行了两年多时间,经受住了生产的考验。 ![image](https://oscimg.oschina.net/oscnet/f6b73f64508e1dd5a516d...阅读全文
Docker 容器镜像是一个轻量、独立、含有运行某个应用所需全部软件的可执行包,那么一个 Docker 镜像里面会包含什么东西?这个名为 Dive 的工具正是用来分析和浏览 Docker 镜像每层的内容。 通过分析 Docker 镜像,我们可以发现在各个层之间可能重复的文件,并通过移除它们来减小 Docker 镜像的大小。 Dive 是一个用 Go 语言编写的自由开源工具。Dive 工具不仅仅是一个 Docker 镜像分析工具,它还可以帮助使用者用于构建镜像。 **运行截图** ![im...阅读全文
goserver 是一个组件式后台服务,把常用的功能用配置的方式按须加载,多个项目可以复用同一个程序。 认证码 定时任务(执行 SQL、爬虫) 模版 文件上传 Web 服务,静态资源 ......... 减少90%的后台代码,为了使后台开发更简单,增加复用,让程序员有更多的精力关注业务逻辑,大部分的项目可以不用写后台代码,业务逻辑用存储过程实现 CRUD 操作,前端用 nuxt.js 或 vue.js 。 如果 goserver 没有提供的相关的功能,可以用两种方式来继续,一...阅读全文
gardens是基于Beego开发的易用、易扩展、界面友好的轻量级功能权限管理系统。 前端框架基于AdminLTE2进行资源整合,包含了多款优秀的插件,是笔者对多年后台管理系统开发经验精华的萃取。 本系统非常适合进行后台管理系统开发,统一的代码和交互给二次开发带来极大的方便,在没有前端工程师参与的情况下就可以进行快速的模块式开发,并保证用户使用的友好性和易用性。系统里整合了众多优秀的资源,在此感谢各位大神的无私奉献。 分页列表页面的搜索条件、搜索面板、PageSize、当前页数、显示/隐藏列...阅读全文
vvalidator - 一个轻量级的 Go 参数验证器,提供 validator、is、has 三类参数验证,满足各类验证需求。采用 MIT 开源协议。阅读全文
GraphQuery 是一门易于使用的查询语言,它内置了 Xpath/CSS/Regex/JSONpath 选择器和文本处理功能。 你可以使用简洁的 GraphQuery 语法来获取所需的任何数据结构。 使用 GraphQuery 可以统一任何后端语言的文本解析逻辑。 你不需要在不同语言之间找到 Xpath/CSS/Regex/JSONpath 选择器的实现,并熟悉它们的语法或探索它们的兼容性。 可以使用 GraphQuery 解析任何文本并使用自己熟练的选择器。GraphQuery 目...阅读全文
Naftis 是一个基于 web 的 Istio dashboard,通过任务模板的方式来帮助用户更方便地执行 Istio 任务。 用户可以在 Naftis 中定义自己的任务模板,并填充变量来构造单个或多个构造任务实例,从而完成各种服务治理功能。 内部集成了一些常用 dashboard 可定制的任务模板支持 支持回滚指定任务 支持指定根服务节点的服务拓扑图 提供查看 Istio 的 Services 和 Pod 的支持 开箱即用,通过 Kubectl 相关指令即可快速部署 支持...阅读全文
SOAR(SQL Optimizer And Rewriter)是一个对SQL进行优化和改写的自动化工具。 由小米人工智能与云平台的数据库团队开发与维护。 支持基于启发式算法的语句优化 支持复杂查询的多列索引优化(UPDATE, INSERT, DELETE, SELECT) 支持EXPLAIN信息丰富解读 支持SQL指纹、压缩和美化 支持同一张表多条ALTER请求合并 支持自定义规则的SQL改写 ![image](https://oscimg.oschina.net/oscnet...阅读全文
tiedot 是一个文档型数据库引擎,它使用 JSON 作为文档表示方法;有一个强大的查询处理器,支持高级设置操作;可以嵌入到程序中,也可以使用 HTTP 为 API 运行独立服务器。使用 Go 编写,可运行在 *nix 和 Windows 操作系统上。 tiedot 具有容错数据结构,可以保障数据安全,同时可以轻松扩展到 4+ CPU 内核。 tiedot 即使在数百万条记录的情况下也具有非常稳定的性能,它始终保持高吞吐量,每秒可吞下超过 120k 的记录或 80k 的复杂查询。阅读全文
fzf 是一个通用的命令行模糊查找器,它是一个用于命令行的交互式 Unix 过滤器,可以用于定位多种资源,包括文件、命令历史、进程、主机名、书签与 git commit 等。 ![image](https://oscimg.oschina.net/oscnet/fc0f464700e766a74ee462c67cce542a1e3.jpg) 特性包括: 便携无依赖性 非常快 最全面的功能集 布局灵活 可组合 Vim/Neovim 插件,提供键绑定和模糊自动完...阅读全文
现今的各类应用中,图片的使用越来越多,而且移动设备的各类高清屏,图片质量的要求也越来越高,在网站上图片类的使用带宽已基本达到60%,如果能减少图片的带宽占用,能更好的提升用户体验以及节约成本。 随着接入终端的种类繁多,以往一张图片所有终端使用的暴力做法已跟不上潮流,我更倾向于不同的终端选择更适合的图片(尺寸、质量甚至于更优的图片格式),Tiny主要用于对图片做压缩或尺寸调整以及格式转换,以及图片区域剪辑,更简单的方式适配更多的场景。下面是我日常是遇到比较多的场景: 图片自适应等比缩放 超长...阅读全文
Kubeless 是一个基于 Kubernetes 的 Serverless 框架,允许您部署少量代码,而无需担心底层基础架构管道。它利用 Kubernetes 资源提供自动扩展、API 路由、监控、故障排除等功能。 Kuberless 包含以下部分: 持 Python、Node.js、Ruby、PHP、Golang、.NET、Ballerina 和自定义运行时 CLI 兼容 AWS Lambda CLI 事件触发器使用 Kafka 消息传递系统和 HTTP 事件 Promethe...阅读全文
Ginkgo是一个BDD风格的Go测试框架,旨在帮助您有效地编写富有表现力的综合测试。它最好与Gomega匹配器库配对,但设计为与匹配器无关。 Ginkgo使用Go的测试包,可以与您现有的测试工具一起使用。它很容易引导并开始编写您的第一个测试 明确地构建BDD样式测试: 可嵌套的 Describe,Context 和 When 容器块 BeforeEach和AfterEach Block 初始化/销毁 It 和 Specify 断言块 JustBeforeEach 块 将创建与配置分...阅读全文
ReactiveX的Golang实现版本,非官方实现版。 由于官方的RxGo一直没有进行开发,遂本人在编写rx4rx的时候受到启发,实现了golang版本的Rx库,填补了Rx在golang上的空缺。 该库实现了两种使用模式1、链式编程,2、pipe模式。使用者可以根据自己的喜好随意选择。 类似 rxjs 5.0 类似 rxjs 6.0阅读全文
fileboy,文件变更监听通知系统,使用 GO 编写。 适用于 Hot Reload (典型的如开发go项目,无需每次手动执行 go build;又比如前端 node 打包) 或者 系统监控的场景。 go version >=1.10 [正式版 v1.0](https://github.com/dengsgo/fileboy/releases) 直接下载已经编译好的对应平台二进制文件,加入系统 Path 中即可。 clone 该项目,进入主目录,运行命令: fileboy 的...阅读全文
TiDB Operator 是 [TiDB](https://www.oschina.net/p/tidb) 在 Kubernetes 平台上的自动化部署运维工具,借助 TiDB Operator,TiDB 可以无缝运行在公有云厂商提供的 Kubernetes 平台上,让 TiDB 成为真正的 Cloud-Native 数据库。 第一,使用传统的自动化工具带来了很高的部署和运维成本。TiDB 的分层架构对于分布式系统是比较常见的,各个组件都可以根据业务需求独立水平伸缩,并且 TiKV 和 Ti...阅读全文
Escalator 是 Atlassian 开源的一款 Kubernetes 自动扩展工具,专为大批量或基于作业任务(job-based)的工作负载而设计。当集群需要按比例缩放时,无法强制释放和移动,Escalator 将确保在终止节点之前已在节点上完成了 pod 。它还针对集群扩展进行了速度优化,以确保 pod 不会处于挂起状态。 计算请求和容量,以确定是按比例扩容、缩容还是保持当前比例 在终止节点之前等待节点上的非守护进程 pod 已完成 可指定需要自动扩展的群组,以允许默认的 K...阅读全文
MOSN 是一款采用 Golang 开发的 Service Mesh 数据平面代理,功能和定位类似 [Envoy](https://www.oschina.net/p/envoy) ,旨在提供分布式,模块化,可观察,智能化的代理能力。MOSN 支持 Envoy 和 [Istio](https://www.oschina.net/p/istio) 的 API ,可以和 Istio 集成。SOFAMesh 中,我们使用 MOSN 替代 Envoy 。 初始版本由蚂蚁金服和阿里大文娱 UC 事业部携...阅读全文
lazygit 是一个用于 Git 命令行的简单终端 UI,使用 Go 语言编写,用到了 gocui 库,目的是在命令行提供 Git 的图形界面。 ![image](https://oscimg.oschina.net/oscnet/4cc0c8ab970f9c7be77cc0acd0c514bdc10.jpg) **功能特性** 轻松添加文件 解决合并冲突 轻松检出最近的分支 滚动查看 branches/commits/stash 的日志和差异信息 快速进行 pushin...阅读全文
ITGeek 是开源 itgeek.top 极客社区平台。 ![image](https://static.oschina.net/uploads/space/2018/0804/234121_bkXp_41599.gif) ![image](https://static.oschina.net/uploads/space/2018/0804/234213_zm7D_41599.gif) ![image](https://static.oschina.net/uploads/space/2...阅读全文
[![brand](https://static.oschina.net/uploads/img/201808/02141426_pL5i.png)](https://github.com/phachon/mm-wiki/blob/master/static/images/logo_sm.png) MM-Wiki 是一个轻量级的企业知识分享与团队协同软件,可用于快速构建企业 Wiki 和团队知识分享平台。部署方便,使用简单,帮助团队构建一个信息共享、文档管理的协作环境。 部署方便,基于 go...阅读全文
Janusec应用网关(Janusec Application Gateway)一款基于Golang打造的应用安全网关,具备WAF(Web应用防火墙)功能及组合策略配置,天然支持HTTPS(符合PCI-DSS认证要求),无需Agent,私钥加密存储在数据库,提供负载均衡和统一的Web化管理入口。 ![Janusec Application Gateway](https://camo.githubusercontent.com/292d1c91acf55a2572fdfdf91a287c4f1e...阅读全文
ksonnet是一个用于编写,共享和部署Kubernetes应用程序清单的框架。使用CLI,只需几个命令就可以从头开始生成完整的应用程序,或者大规模管理复杂的系统。 具体来说,ksonnet允许: 重用常见的manifest模式(在应用程序或外部库中) 使用强大的对象连接语法直接自定义manifest 将应用程序清单部署到多个环境 跨环境差异以比较应用的两个运行版本 在版本可控文件中跟踪应用配置的整个状态 所有这些都使得开发配置更加容易迭代,更方便惊醒持续集成(CI)。阅读全文
Liftbridge 是一个为 [NATS](https://github.com/nats-io/gnatsd) 实现持久、复制的消息日志的服务器,通过为 NATS 消息传递系统实现持久的流扩充来提供轻量级、容错的消息流。客户端创建一个附加到 NATS 对象的流,然后,流将该对象上的消息记录到复制的预写日志中,多个消费者可以从同一个流中读回,并且可以将多个流附加到同一对象。 Liftbridge 在 NATS 前面提供类似 Kafka 发布-订阅的 API,高度可用且可水平扩展。 用于 ...阅读全文
go_bench 是一个可以向 Web 应用程序发送一些负载的小程序。阅读全文
提供可视化界面的定时任务管理工具。 允许设置每个脚本的超时时间,超时操作可选择邮件通知管理者,或强杀脚本进程。 允许设置脚本的最大并发数。 一台server管理多个client。 每个脚本都可在server端灵活配置,如测试脚本运行,查看日志,强杀进程,停止定时...。 允许添加脚本依赖(支持跨服务器),依赖脚本提供同步和异步的执行模式。 友好的web界面,方便用户操作。 脚本出错时可选择邮箱通知多人。 jiacrontab由server,client两部分构成,两者完全独立通过...阅读全文
GRC是一款使用golang redis 对应用程序的配置文件进行热更新的一款软件,方便在应用程序启动的过程当中实时更新我们的配置文件。 可以参考测试文件 ![image](https://gitee.com/ppmoon/GRC-golang-redis-config-tool/raw/master/use.jpg) golang这种编译型语言无法像PHP一样实时的热更新配置数据。为了让golang更加简单的热更新配置文件所以设计制作了GRC这个热更新配置文件的包。 具体思路是使用...阅读全文
本repo是一个简单的golang工作池,仅供交流和学习使用。golang工作池的作用是可以限制goroutine的启动数量。 一般情况下,goroutine在操作系统上只要你的硬件资源够它是可以无限启动的。但是如果出现大规模的启动goroutine的情况会造成大量占用系统资源,我们知道普通的部署一个golang应用的时候操作系统不仅仅会运行golang程序还有其他辅助的程序运行,所以理论上讲工作池的目的就是为了限制golang的启动数量,保证不会出现硬件计算资源溢出的情况。 理论上来讲,我...阅读全文
shadowtunnel 是一款可以在你本地机器和远程服务直接建立安全的加密隧道,保护你的 tcp 流量,能高效压缩传输,流量无特征。 local machine <----> shadowtunnel <---> service on remote. 1.http 代理 假设有一个 vps,它的 IP 是 2.2.2.2 首先在 2.2.2.2 启动一个 http 代理 然后下载 http 代理程序,使用 root 权限在 vps 上执行下面的命令: ...阅读全文
revive 是一个 Go 语言的代码质量检测工具(Linter for Go),具有快速、可配置、可扩展、灵活和美观这些特性,可作为 golint 的替代方案。 revive 为自定义规则的开发提供了一个框架,你也可以定义一个严格的预设来增强开发和代码审查流程。 revive 与 golint 的不同之处 可以使用配置文件来启用或禁用规则 使用 TOML 文件配置 linting 规则 运行相同的规则,比 golint 快两倍 与 golint 相比,revive 提供了更多规则 ...阅读全文
usql 是 SQL 数据库的通用命令行界面。支持主流的数据库软件,如 PostgreSQL, MySQL, Oracle Database, SQLite3, Microsoft SQL Server 以及许多其他的数据库(包括 NoSQL 和非关系型数据库)。 usql 的灵感来自 PostgreSQL 的 psql,通过命令行提供了一种简单的方式来操作 SQL 和 NoSQL 数据库。usql 支持大多数 psql 的核心特性,如变量、反引号(backticks)和命令,并具有 psql...阅读全文
中华人民共和国县以上行政区划代码的golang包 或者你使用vgo 输入一个行政区域代码比如 130104 返回一个省市县的数组[河北省 石家庄市 桥西区] 如果是直辖市比如北京 110000 返回就是[北京市] 目前数据使用2018年4月的最新数据 [中华人民共和国民政部](http://www.mca.gov.cn/article/sj/xzqh/2018/) 民政部啥时候发布新数据还是挺没准的,看之前的数据是一年一发,今年貌似1月2月发了,但是后面就没发,现在也找不到什么规律。 ...阅读全文
Apache Traffic Control 是一个分布式、可扩展的冗余解决方案,可用于构建、监视和配置大型内容交付网络(CDN)。项目起源于 [Traffic Server](https://www.oschina.net/p/trafficserver) ,实现了现代 CDN 的所有核心功能。 借助 Traffic Control,运营商可以设置一个内容分发网络,为用户快速高效地提供高质量的 Live 和 VOD 流媒体视频。 降低延迟:找到更靠近用户的缓存和内容可减少传送内容所...阅读全文
[![image](https://github.com/senorprogrammer/wtf/raw/master/docs/img/wtf.jpg?raw=true)](https://github.com/senorprogrammer/wtf/blob/master/docs/img/wtf.jpg?raw=true) 基于 T erminal 的个人 dashboard 实用程序,专为显示不常用的但非常重要的日常数据而设计,灵感来自 Monica Dinculescu 的...阅读全文
Katran 是 Facebook 开源的高性能第 4 层负载均衡器,目前在 Facebook 内部处于孵化阶段。Katran 提供了一个软件解决方案,用于使用称为 eXpress Data Path 和 eBPF 虚拟机的最新内核工程开发进行负载均衡。 Katran 被部署在 Facebook 的网络中。 **主要功能特性** 快速(特别是在驱动模式下的 w/ XDP) 性能与多个 NIC 的 RX 队列呈线性关系 RSS 友好的封装 ![image](https://static....阅读全文
showdoc是一个基于 Markdown 的文档发布管理软件,godoc 作为 showdoc 的 go语言重构版本,对原项目做了功能上的精简。 Api文档 ![image](https://static.studygolang.com/180531/54a6776e51507bc8eb64b99ce7f65e48.png) 数据字典 ![image](https://static.studygolang.com/180531/a77c58e61e485ec38c5580cf287...阅读全文
由 Apache RocketMQ 社区贡献并维护的 Apache RocketMQ 扩展项目。 使用 Spring Boot 重新设计的 RocketMQ 控制台 RocketMQ 的 JMS 1.1 规范实现 Flume RocketMQ source 和 sink 的实现 集成 Apache Flink 和 Apache RocketMQ。详细介绍请查看 [README](https://github.com/apache/rocketmq-externals/tree/maste...阅读全文
markdownServer是使用go语言编写的markown在线显示服务,其实就是扫描固定文件目录,将目录下的markdown文件解析成html在线显示,唯一的特点就是通过读写锁和tryLock实现的缓存和并发优化。 项目核心功能(解析和tryLock)完全使用第三方包,缓存和锁机制是由本人实现 **功能特性** /update接口锁,保证同时只有一个groutine在更新fileList。 缓存,除非更新,已经解析过的文件会放在缓存中,无需重复解析阅读全文