This is an automated email from the ASF dual-hosted git repository.
ztelur pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/dubbo-go-pixiu.git
The following commit(s) were added to refs/heads/develop by this push:
new c6a49ef8 update readme (#450)
c6a49ef8 is described below
commit c6a49ef809ba8b6db6eda2753b1ed2250af122bb
Author: randy <[email protected]>
AuthorDate: Mon Jun 27 19:00:29 2022 +0800
update readme (#450)
* update readme
* update readme
* update readme
* update readme
---
Dockerfile | 2 +-
README.md | 89 ++++++++++++++----------------------------------------------
README_CN.md | 87 +++++++++-------------------------------------------------
3 files changed, 35 insertions(+), 143 deletions(-)
diff --git a/Dockerfile b/Dockerfile
index 35f76fd7..1e081e80 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -19,7 +19,7 @@
### builder
FROM golang:alpine as builder
-LABEL MAINTAINER="[email protected]"
+LABEL MAINTAINER="[email protected]"
ENV GOPROXY="https://goproxy.cn,direct" \
GO111MODULE=on \
diff --git a/README.md b/README.md
index c614776e..e0a85c7f 100644
--- a/README.md
+++ b/README.md
@@ -8,16 +8,23 @@ English | [中文](./README_CN.md)
# Introduction
-**Dubbo-Go-Pixiu**(official site: https://dubbo-go-pixiu.github.io/) is a
gateway that mainly focuses on providing gateway solution to your Dubbo and
RESTful services.
+**Dubbo-Go-Pixiu**(official site: https://dubbo-go-pixiu.github.io/) is a
high-performance API gateway and multi-language solution Sidecar in the Dubbo
ecosystem
+
+
+
+
+It is an open source Dubbo ecosystem API gateway, and also a sidecar to let
other compute language program access the dubbo clusters by HTTP/gRPC protocol.
As an API gateway, Pixiu can receive external network requests, convert them
into dubbo and other protocol requests, and forward them to the back cluster;
as a sidecar, Pixiu expects to register to the Dubbo cluster instead of the
proxy service, allowing multilingual services to access the Dubbo cluster to
provide faster solution
-It supports **HTTP-to-Dubbo** and **HTTP-to-HTTP** proxy and more protocols
will be supported in the near future.
## Quick Start
+you can find out all demo in https://github.com/dubbo-go-pixiu/samples.
+download it and operate as below.
+
#### cd samples dir
```
-cd samples/dubbogo/simple
+cd dubbogo/simple
```
we can use start.sh to run samples quickly. for more info, execute command as
below for more help
@@ -52,7 +59,7 @@ if prepare config file manually, notice:
./start.sh startPixiu body
```
-if run pixiu manually, use command as below
+if run pixiu manually in pixiu project, use command as below.
```
go run cmd/pixiu/*.go gateway start -c
/[absolute-path]/dubbo-go-pixiu/samples/dubbogo/simple/body/pixiu/conf.yaml
@@ -78,78 +85,24 @@ curl -X POST 'localhost:8881/api/v1/test-dubbo/user' -d
'{"id":"0003","code":3,"
####
```shell
-docker pull phial3/dubbo-go-pixiu:latest
+docker run --name pixiu-gateway -p 8888:8888 dubbogopixiu/dubbo-go-pixiu:latest
+
```
```
-docker run --name pixiuname -p 8883:8883 \
+docker run --name pixiu-gateway -p 8888:8888 \
-v /yourpath/conf.yaml:/etc/pixiu/conf.yaml \
-v /yourpath/log.yml:/etc/pixiu/log.yml \
- apache/dubbo-go-pixiu:latest
-```
-#### http to dubbo samples
-start provider, zookeeper be used register center.
-```shell
-cd samples/dubbogo/simple/resolve/server
-
-export DUBBO_GO_CONFIG_PATH="../profiles/dev/server.yml"
-export APP_LOG_CONF_FILE="../profiles/dev/log.yml"
-
-go run server.go user.go
-```
-start http request
-```shell
-cd samples/dubbogo/simple/resolve/test
-
-go test pixiu_test.go
+ dubbogopixiu/dubbo-go-pixiu:latest
```
## Features
-- You can customize your own dubbo-go-pixiu with plugin.
-- Multiple default filters to manage your APIs.
-- Dubbo and HTTP proxies.
-- Customizable request parameters mapping.
-- Automatically recognizes RPC services from service registration center and
exposes it in HTTP protocol.
-- Sidecar or centralized deployment(Planning)
-- Dubbo protocol's rate-limiting in Istio environment(Planning)
-
-## Architecture
-
-### Pixiu Architecture
-
-[](http://alexstocks.github.io/html/dubbogo.html)
-
-### Pixiu Flow Chart
-
-[](http://alexstocks.github.io/html/dubbogo.html)
-
-## Term
-
-### Components
-
-- Pixiu : Data panel
-
-- Admin : Control Panel
-
-### Concepts
-
-- Downstream : Downstream is the requester who sends request to and expecting
the response from dubbo-go-pixiu. (Eg.Postman client, Browser)
-
-- Upstream : The service that receive requests and send responses to
dubbo-go-pixiu. (Eg. Dubbo server)
-
-- Listener : The way that the dubbo-go-pixiu exposes services to upstream
clients. It could be configured to multiple listeners for one dubbo-go-pixiu.
-
-- Cluster : Cluster is a set of upstream services that logically similar, such
as dubbo cluster. pixiu can identifies the cluster members through service
discovery and proactively probes their healthiness so that the pixiu can route
the requests to proper cluster member base on load balancing strategies.
-
-- Api : API is the core concept of the dubbo-go-pixiu, all the upstream
services will be configured and exposed through API.
-
-- Client : The actual caller of the upstream services.
-
-- Router : Router routes the HTTP request to proper upstream services
according to the API configs.
-
-- Context : The context of a request in dubbo-go-pixiu includes almost all
information to get response from upstream services. It will be used in almost
all process in the dubbo-go-pixiu, especially the filter chain.
-
-- Filter : Filter manipulate the incoming requests. It is extensible for the
users.
+- Multi-protocol support: Currently, Http, Dubbo2, Triple, gRPC protocol proxy
and conversion are supported, and other protocols are being continuously
integrated.
+- Safety certificate: Support HTTPS, JWT Token verification and other security
authentication measures.
+- Registry integration: Support to obtain service metadata from Dubbo or
Spring Cloud cluster, support ZK, Nacos registry.
+- Traffic management: Integrate with sentinel, support multiple protocols for
rate limiting.
+- Observability: Integrate with opentelemetry and jaeger for distributed
tracing.
+- Admin and visual interface: Have pixiu-admin for remote administration and
visualization
## Contact Us
diff --git a/README_CN.md b/README_CN.md
index 4cc07371..eb94e21c 100644
--- a/README_CN.md
+++ b/README_CN.md
@@ -7,16 +7,20 @@
# 简介
-Dubbo-Go-Pixiu 网关支持调用Java的dubbo集群和golang的dubbo-go集群。
+**Dubbo-Go-Pixiu**(官网: https://dubbo-go-pixiu.github.io/) 是一款 Dubbo 生态下的高性能
API 网关和多语言解决方案 Sidecar
+
+
+Pixiu 是一款开源的 Dubbo 生态的 API 网关和 接入 dubbo 集群的语言解决方案。作为 API 网关形态, Pixiu
能接收外界的网络请求,将其转换为 dubbo 等协议请求,转发给背后集群;作为 Sidecar,Pixiu 期望可以代替代理服务注册到 Dubbo
集群,让多语言服务接入 Dubbo 集群提供更快捷的解决方案
-现在 Dubbo-Go-Pixiu 已经支持以dubbo协议和http协议调用远程的 dubbo 集群,未来还会支持更多的协议。
## 快速开始
+你可以在 https://github.com/dubbo-go-pixiu/samples 中找到所有有关 pixiu
功能的案例,可以按照如下的步骤进行操作。
+
#### 进入示例代码目录
```
-cd samples/dubbogo/simple
+cd dubbogo/simple
```
可以使用 start.sh 脚本快速启动案例项目,可以执行如下命令来获得更多信息
@@ -86,81 +90,16 @@ docker run --name pixiuname -p 8888:8888 \
-v /yourpath/log.yml:/etc/pixiu/log.yml \
dubbogopixiu/dubbo-go-pixiu:latest
```
-#### http请求调用dubbo服务转换
-首先启动provider,这里使用zookeeper作为注册中心
-```shell
-cd samples/dubbogo/simple/resolve/server
-export DUBBO_GO_CONFIG_PATH="../profiles/dev/server.yml"
-export APP_LOG_CONF_FILE="../profiles/dev/log.yml"
-
-go run server.go user.go
-```
-进入到test目录下,启动test示例
-```shell
-cd samples/dubbogo/simple/resolve/test
-
-go test pixiu_test.go
-```
## 特性
-- 多协议支持
- - HTTP 代理,基于官方 net/http 包
- - Dubbo 代理,基于 [dubbogo](https://github.com/apache/dubbo-go) (1.5.5) 泛化调用
-- 多形式的 Dubbo 配置
- - 标准的 API 接口配置:配置 API 到 Dubbo 之间的关系
- - 通用的 API 接口配置:把请求的接口信息通过 POST
请求携带过来转换(兼顾[dubbo-proxy](https://github.com/apache/dubbo-proxy))
-- 动态特性
- - 路由重写,支持请求发送到上游之前重写 host, uri, schema,headers(开发中)
- - 超时控制
- - 限流熔断(开发中)
- - 插件机制(开发中)
- - 路由匹配
- - 支持传统的网关接口自定义映射外,还支持自动识别注册中心的 RPC 服务暴露 HTTP 接口(开发中)
-- 控制面板(开发中)
-- 安全
- - IP 黑白名单
-- 云原生支持
- - istio 下支持 dubbo 协议流量(规划中)
- - 能支持边车和集中部署(规划中)
-
-## 架构图
-
-[](http://alexstocks.github.io/html/dubbogo.html)
-
-## 流程图
-
-[](http://alexstocks.github.io/html/dubbogo.html)
-
-## 术语解释
-
-### 组件
-
-- Pixiu : 数据面板
-- Admin : 控制面板
-
-### 概念
-
-- 下游(Downstream):下游主机连接到 Pixiu ,发送请求并接收响应。(API 网关场景理解:浏览器)
-
-- 上游(Upstream):上游主机接收来自 Pixiu 的连接和请求并返回响应。(API 网关场景理解:dubbo 服务的机器)
-
-- 监听器(Listener): 监听器是可以被下游客户端连接的网络位置(例如,端口,unix域套接字等)。Pixiu 公开一个或多个下游主机连接的监听器。
-
-- 集群(Cluster): 群集是指 Pixiu 连接到的一组逻辑上相似的上游主机(比如 dubbo 集群)。Pixiu
通过服务发现发现一个集群的成员,它可以通过主动健康检查来确定集群成员的健康度,从而 Pixiu 通过负载均衡策略将请求路由到相应的集群成员。
-
-- 接口(Api): 接口是 API 网关的核心概念,特别针对浏览器等外部系统的访问时必须开启,所有请求必须匹配到对应的 Up
状态的接口才能继续进行后续逻辑。
-
-- 客户端(Client): 请求上游主机的真实调用对象。
-
-- 路由(Router): 路由策略,目前理解成 HTTP 路由,通过 match 逻辑路由到对应的集群。
-
-- 上下文(Context): 一个真实请求的上下文,包含这次请求几乎所有的信息。在各个环节都会使用,特别是 filter 链路。
-
-- 过滤器(Filter): 过滤器,提供拦截能力。支持自定义扩展。
-
-- 规则(Rule): 规则提供匹配能力,给过滤器,路由等其它概念使用。
+- 多协议支持:目前已支持 Http、Dubbo2、Triple、gRPC 协议代理和转换,其他协议持续集成中
+- 安全认证:支持 HTTPS、JWT Token 校验等安全认证措施
+- 注册中心集成:支持从 Dubbo 或 Spring Cloud 集群中获取服务元数据,支持 ZK、Nacos 注册中心
+- 流量治理:集成 sentinel,支持多种协议限流
+- 可观测性:集成 opentelemetry 和 jaeger,便于进行分布式链路追踪
+- 自持 admin 和可视化界面:拥有 pixiu-admin 进行远程管理和可视化
## 联系我们