goproxy-server

Go 实现的负载均衡服务器
授权协议 GPLv3
开发语言 Google Go
所属分类 服务器软件、 集群/负载均衡
软件类型 开源软件
地区 国产
投 递 者 徐子石
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

goproxy是使用golang实现的一个基本的负载均衡服务器,支持缓存(使用redis);反向代理,目前支持6种模式:

  1. 随机分发;

  2. IP HASH两种模式;

  3. 轮询(Round Robin)法;

  4. 加权轮询(Weight Round Robin)法;

  5. Power of Two Choices (P2C)算法;

  6. 边界一致性哈希算法(Consistent Hashing with Bounded Loads)。

另外,对转发的请求有较大的控制度,可以控制代理特定的请求,屏蔽特定的请求,甚至可以重写特定的请求。 另外,有时候项目需要用到第三方的服务并对返回的数据进行自定义修改,调用第三方的API,利用proxy server可以很容易的控制第三方API返回的数据并进行自定义修改。

  • 简介:在我们树莓派只有内网IP的时候,我们需要借助代理服务来帮我们实现请求转移,像Nginx,Apache等代理服务器也有代理功能,但是更多负责的是“负载均衡”,花生壳有流量限制不适用,所以我们选择给树莓派部署开源的goproxy。 步骤 下面我将用Gitea部署作为例子,其中Gitea在树莓派启动端口为3000。 1. 服务器安装goproxy服务端 (1)安装 sudo curl -L htt

  • 前端开发时会在本地开启http服务器来测试,http-server是一个简单当零配置命令行http服务器。 http-server在浏览器的端口http://127.0.0.1:8080/,未能及时反馈网页中html、js文件的改动。这是因为浏览器会保存一些数据,方便下次加载的时候速度更快,但当我们对html/js做了一些改动时,浏览器不能即时生效,仍加载之前的网页。 这时需要对浏览器清除缓存。

  • 个人博客原文: kubernetes(k8s)中部署metrics-server遇到的问题 metrics-server版本:k8s.gcr.io/metrics-server-amd64:v0.3.3 k8s版本:v1.14.1 The '--source' flag is unavailable right now (v0.3.0-alpha.1) containers: - name:

  • 查看Kubernetes版本 kubectl version ---------------------------------------------------------------------------- Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.2", GitCommit:"cff46ab

 相关资料
  • Kubernetes在设计之初就充分考虑了针对容器的服务发现与负载均衡机制,提供了Service资源,并通过kube-proxy配合cloud provider来适应不同的应用场景。随着kubernetes用户的激增,用户场景的不断丰富,又产生了一些新的负载均衡机制。目前,kubernetes中的负载均衡大致可以分为以下几种机制,每种机制都有其特定的应用场景: Service:直接用Service

  • 用于设置容器内pod的访问方式。 服务 服务定义了访问后端Pod的访问方式。 路由 路由是允许访问集群内路由的规则集合。

  • 从我们的应用程序创建和运行开始,我们就需要一种发送信息到外边的方法。如果我们当前运行多个 app, 它们也需要一种方法来找到彼此。 我们可以通过域名系统(DNS)使用Mesos-DNS作为服务发现。Mesos-DNS 会给正运行在 Mesos 上的每个应用程序生成一个主机名, 在当前的机器上把这些名字转化成IP地址和端口。如果通过多个 framework(不只是 Marathon)发布应用程序,M

  • 负载均衡即服务(Load Balance as a Service,LBaaS)是一项网络高级服务。 顾名思义,它允许租户动态的在自己的网络创建一个负载均衡设备。 负载均衡,可以说是分布式系统中比较基础的组件,它接收前端过来的请求,然后将请求按照某种均衡的策略转发给后端资源池中的某个处理单元,以完成处理。进而可以实现高可用性和横向的扩展性。 OpenStack Neutron 通过高级服务扩展的形

  • The inside of a computer is as dumb as hell but it goes like mad! — Richard Feynman 曾几何时,为缓慢的 Web 服务器加速的方式就是增加更多的 CPU 核心。 我记得一个老板买了一台 24核的 Sun 工作站,它是个尺寸接近悍马的怪物, 以至于我们不得不扩修数据中心的大门才能将其放入。 时至今日,扩展 Web 站点

  • 负载均衡(Load balancing)是一种计算机网络技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最佳化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。 使用带有负载均衡的多个服务器组件,取代单一的组件,可以通过冗余提高可靠性。负载均衡服务通常是由专用软体和硬件来完成。 负载均衡最重要的一个应用是利用多台服务器提供单一服务,这种方案有

  • 负载均衡包括负载均衡实例、访问控制及证书。 实例 负载均衡实例是一个运行的负载均衡服务,通过设置的虚拟IP接收流量并将其转发分配给后端服务器。 访问控制 访问控制用于设置访问负载均衡的IP白名单或IP黑名单。 证书 当在负载均衡实例上配置HTTPS监听转发来自HTTPS协议的请求时,需要配置证书。

  • 一个简单的负载均衡的示例,把www.domain.com均衡到本机不同的端口,也可以改为均衡到不同的地址上。> http { : upstream myproject { : server 127.0.0.1:8000 weight=3; : server 127.0.0.1:8001; : server 127.0.0.1:8002; : server 127.0.0.1:8003; : }