This is an automated email from the ASF dual-hosted git repository.

albumenj pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-website.git


The following commit(s) were added to refs/heads/master by this push:
     new caded9f57f4 Translate part of core-features documents (#2840)
caded9f57f4 is described below

commit caded9f57f4bd6e29a253dfc97597fae26d59edd
Author: namelessssssssssss 
<[email protected]>
AuthorDate: Fri Oct 20 15:30:58 2023 +0800

    Translate part of core-features documents (#2840)
    
    * Translate protocols.md
    
    * Translate security.md & service-mesh.md
    
    * Translate more.md
---
 content/en/overview/core-features/more.md         | 71 ++++++++++++++++-
 content/en/overview/core-features/security.md     | 93 ++++++++++++++++++++++-
 content/en/overview/core-features/service-mesh.md | 81 ++++++++++++++++++--
 3 files changed, 230 insertions(+), 15 deletions(-)

diff --git a/content/en/overview/core-features/more.md 
b/content/en/overview/core-features/more.md
index 8093f4f263e..aff57e63525 100644
--- a/content/en/overview/core-features/more.md
+++ b/content/en/overview/core-features/more.md
@@ -1,7 +1,70 @@
 ---
+description: Advanced Features Guide
+linkTitle: More Advanced Features
+title: More Advanced Features
 type: docs
-title: "更多高级功能"
-linkTitle: "更多高级功能"
-weight: 100
-description: ""
+weight: 11
 ---
+
+As a microservice framework closely related to application development and 
aimed at providing enterprise-level service governance capabilities, Dubbo 
offers a variety of advanced features covering service call behavior control, 
service diagnostics and tuning, and service governance.
+
+Different language SDKs may have slight variations in feature implementation 
and configuration methods. For a specific list of features and usage, refer to 
the following documents:
+* [Java](/zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/)
+* [Golang](/zh-cn/overview/mannual/golang-sdk/tutorial/)
+
+## Controlling Service Invocation Behavior
+* Service Versions
+* Service Groups
+* Group Aggregation
+* Asynchronous Invocation
+* Asynchronous Execution
+* Streaming Communication
+* Reactive Programming
+* Generic Invocation
+* Generic Implementation
+* Passing Implicit Parameters in Call Chain
+* RPC Call Context
+* Invocation Event Notifications
+* Server Callbacks to Client
+* Subscribe Only
+* Register Only
+* Runtime Dynamic IP Specification
+* Direct Provider Connection
+* Startup Checks
+* Local Invocation
+* Parameter Validation
+* Local Mocking
+* Local Stubs
+* Echo Tests
+* Invocation Information Logging
+* Delayed Exposure
+* Cluster Fault Tolerance
+* Service Degradation
+
+## Diagnostics and Tuning
+* Port Protocol Multiplexing
+* Thread Pool Isolation
+* Multiple Protocols
+* Multiple Registry Centers
+* Request Latency Sampling
+* Thread Models
+* Service Reference Configuration Object Caching
+* Route State Collection
+* Load Balancing
+* Simplified Registration Information
+* Invocation Result Caching
+* Concurrency Control
+* Connection Control
+* Delayed Connections
+* Sticky Connections
+* Graal VM Support
+* Exporting Thread Stack Trace
+* Kryo and FST Serialization
+* Custom Service Container
+* Graceful Shutdown
+* Custom Host Address Exposure
+* Consistent Hashing
+* Logging Framework Adaptation and Runtime Management
+* Kubernetes Lifecycle Probes
+
+These features are designed to provide more control and flexibility in a 
microservices environment. They can help improve system reliability, enhance 
performance, and ease the process of deploying, managing, and scaling 
applications.
diff --git a/content/en/overview/core-features/security.md 
b/content/en/overview/core-features/security.md
index a3a9160b146..deeb6bb2155 100644
--- a/content/en/overview/core-features/security.md
+++ b/content/en/overview/core-features/security.md
@@ -1,11 +1,98 @@
 ---
 type: docs
-title: "认证鉴权"
-linkTitle: "认证鉴权"
+title: "Authentication"
+linkTitle: "Authentication"
 weight: 70
-description: ""
+description: |
+  Offers TLS-based transport layer authentication and encrypted communication, 
as well as request-based authorization, to help build a Zero Trust distributed 
microservices system.
 feature:
   title: Zero-trust Security
   description: >
     It supports TLS-based transmission link authentication and encrypted 
communication, as well as permission verification based on request identity, 
helping to build a zero-trust distributed microservice system.
 ---
+
+Dubbo provides comprehensive mechanisms to build a secure microservices 
communication system, also known as a Zero Trust system. This includes:
+* Preventing man-in-the-middle attacks by offering identity authentication 
(Authentication) and TLS-based encrypted communication.
+* Controlling inter-service access authorization (Authorization) with 
mechanisms like mTLS and permission checks.
+
+This document will guide you through leveraging Dubbo's security features to 
build a Zero Trust system for your microservices, focusing on authentication, 
transparent encryption, authorization, and auditing. Since Zero Trust is a 
comprehensive approach, you may need another infrastructure, such as 
certificate management and security policy control.
+
+> **Note**: The scope of this document does not include certificate generation 
and distribution. We assume you already have an infrastructure in place for 
certificate management. Hence, we will focus on Dubbo's authentication and 
authorization mechanisms and processes. If you lack such infrastructure, we 
recommend using a service mesh architecture like Istio for certificate 
management and security policies.
+
+## Architecture
+
+A complete Zero Trust system comprises multiple components:
+
+* A Root Certificate Authority (CA) to manage keys and certificates.
+* A security policy management and distribution center to send real-time 
policies to data plane components:
+    * Authentication policies
+    * Authorization policies
+    * Secure Naming Information
+* Data plane components (Dubbo) responsible for identification, encryption, 
and policy enforcement.
+* A suite of tools and ecosystems to complete security audits and data link 
monitoring.
+
+In a service mesh deployment like Istio, the control plane typically handles 
security policies and certificates, interacting with infrastructure like the 
Kubernetes API Server to distribute configuration data to Dubbo or other data 
plane components.
+
+Here is a comprehensive architecture diagram for Dubbo Zero Trust:
+
+![Authentication](/imgs/v3/feature/security/arch.png)
+
+## Authentication
+
+Dubbo provides two modes of authentication:
+
+* **Channel Authentication**: Dubbo supports TLS-based HTTP/2 and TCP 
communication. You can enable TLS through Channel Authentication API or control 
plane policies for server identity authentication and data link encryption. 
Additionally, you can enable mTLS for client-server mutual authentication. This 
is a service-to-service mode of authentication.
+* **Request Authentication**: Dubbo offers APIs to attach user identity 
credentials (like JWT tokens) in the request context. Dubbo automatically 
recognizes these identity tokens for permission checks. You can also customize 
these tokens, like OAuth2 access tokens. This is an end-user mode of 
authentication, representing the identity of the user logged into the system.
+
+### Architecture
+
+In Istio mode, Dubbo's authentication mechanism automatically interfaces with 
the Istio control plane through xDS. Certificates and authentication policies 
generated by the Istio control plane are automatically sent to the Dubbo data 
plane, which applies them to all subsequent data communications.
+
+![Authentication](/imgs/v3/feature/security/auth-1.png)
+
+#### Dubbo mTLS Flow
+
+In Istio deployments, you can enable or disable Channel Authentication's 
mutual authentication through control plane policies. The workflow for mutual 
authentication is as follows:
+
+1. Istio sends authentication policies to enable mutual authentication.
+2. The Dubbo client initiates a mutual TLS handshake with the server, 
performing a secure naming check to validate the server's identity.
+3. A mutual mTLS link is established between the client and server for 
encrypted communication.
+4. The Dubbo server recognizes the client's identity and checks whether it has 
the permission to access the corresponding resource.
+
+### Authentication Policies
+For specific rules supported by Istio, Dubbo fully supports Istio-defined 
authentication policies.
+
+[Read 
More](https://istio.io/latest/docs/concepts/security/#authentication-policies)
+
+## Authorization
+
+Dubbo has abstracted an authorization extension mechanism but currently only 
supports the Istio system. Thus, its authorization capabilities are equivalent 
to those described in the official Istio documentation.
+
+[Read More](https://istio.io/latest/docs/concepts/security/#authorization)
+
+### Architecture
+
+Dubbo receives user-configured authorization policies from the Istio control 
plane through xDS. When a request reaches a Dubbo instance, the built-in 
authorization engine matches the request parameters and user identity against 
the policy. If the match is successful, access is granted; otherwise, it's 
denied.
+
+![Authorization](/imgs/v3/feature/security/authz-1.png)
+
+### Authorization Policies
+For specific rules supported by Istio, Dubbo fully supports Istio-defined 
authorization policies.
+
+[Read 
More](https://istio.io/latest/docs/concepts/security/#authorization-policies)
+
+## Dubbo Authentication API
+
+Dubbo defines an authentication API. For general use cases, developers can 
enable TLS/mTLS through this API. However, in an Istio control plane 
deployment, Dubbo automatically recognizes the certificates and authentication 
policies sent by Istio, so no special configuration is needed on the Dubbo side.
+
+Whether or not you use the Istio control plane, JWT tokens for Request 
Authentication still need to be specified programmatically in Dubbo.
+
+For language-specific API definitions, please refer to the respective SDK 
documentation:
+* [Java](/)
+* [Go](/)
+* [Rust](/)
+* [Node.js](/)
+
+## Sample Tasks
+
+Please visit the following [Dubbo Task Examples](/) for hands-on practice with 
security policies.
diff --git a/content/en/overview/core-features/service-mesh.md 
b/content/en/overview/core-features/service-mesh.md
index 685f2cec8ef..21e50930b19 100644
--- a/content/en/overview/core-features/service-mesh.md
+++ b/content/en/overview/core-features/service-mesh.md
@@ -1,11 +1,76 @@
 ---
-type: docs
-title: "服务网格"
-linkTitle: "服务网格"
-weight: 80
-description: ""
+description: Service Mesh
 feature:
-  title: Service Mesh
-  description: >
-    Flexible data plane (Proxy & Proxyless) deployment support, seamless 
access to the Istio control plane governance system.
+    description: |
+      Flexible data plane (Proxy & Proxyless) deployment options, seamlessly 
integrating with the Istio control plane governance ecosystem.
+    title: Service Mesh
+linkTitle: Service Mesh
+title: Service Mesh
+type: docs
+weight: 9
+working-in-progress: true
 ---
+
+Dubbo Mesh is Dubbo's comprehensive microservices solution in a cloud-native 
context. It helps developers integrate Dubbo services with standard Kubernetes 
Native Service systems, enabling seamless connectivity with leading service 
mesh products like Istio.
+
+Below is the deployment architecture diagram for Dubbo Mesh.
+
+![Dubbo-Mesh](/imgs/v3/mesh/mix-mesh.png)
+
+* Control Plane: Istio serves as the unified control plane, providing 
cluster-wide capabilities like Kubernetes adaptation, service discovery, 
certificate management, observability, and traffic management.
+* Data Plane: Dubbo application instances act as data plane components and 
support two deployment modes:
+    * Proxy Mode: Dubbo and Envoy are deployed in the same pod, and all 
traffic to and from Dubbo is intercepted and managed by Envoy.
+    * Proxyless Mode: Dubbo instances are deployed independently, 
communicating directly with each other and interacting directly with the 
control plane via the xDS protocol.
+
+For general content on service mesh architecture and why you might want to 
integrate with the Istio control plane, please refer to the [Istio official 
website](https://istio.io/). This document will focus on the Dubbo Mesh 
solution itself.
+
+## Dubbo Mesh
+
+### Proxy Mesh
+In Proxy mode, Dubbo is deployed alongside a sidecar like Envoy.
+
+![dubbo-sidecar](/imgs/v3/mesh/dubbo-proxy.png)
+
+The architecture diagram above depicts Dubbo Proxy Mesh deployment:
+* Dubbo and Envoy are deployed in the same pod, with Istio managing traffic 
and governance.
+* Dubbo provides programming APIs and RPC communication capabilities for 
business applications, while other capabilities like address discovery, load 
balancing, and routing are delegated to Envoy, which intercepts all incoming 
and outgoing traffic.
+* The control plane distributes configurations to Envoy via the xDS protocol, 
as indicated by the dashed lines in the diagram.
+
+In Proxy mode, using Dubbo3 communication layers like Triple, gRPC, and REST 
that are based on HTTP can result in better gateway penetration and performance.
+
+### Proxyless Mesh
+In Proxyless mode, there are no proxy components like Envoy. Dubbo's processes 
are deployed independently and communicate directly. Istio's control plane 
interacts with Dubbo processes for governance via the xDS protocol.
+
+![dubbo-proxyless](/imgs/v3/mesh/dubbo-proxyless.png)
+
+In Proxyless mode, Dubbo deployment is basically the same as before, but the 
Dubbo3 SDKs directly implement xDS protocol parsing.
+
+#### Why Proxyless Mesh?
+
+While Proxy mode offers many advantages, such as smooth upgrades, 
multi-language support, and minimal business intrusion, it also introduces some 
challenges:
+* Sidecar communication adds extra performance overhead, especially noticeable 
in complex network topologies.
+* The presence of a sidecar complicates application lifecycle management.
+* Not all environments can accommodate Sidecar deployment and request 
interception.
+
+In Proxyless mode, Dubbo processes continue to communicate directly:
+* There is no additional Proxy-related overhead, making it more suitable for 
performance-sensitive applications.
+* It simplifies legacy system migration.
+* The architecture is simple and easy to manage.
+* It is suitable for almost all deployment environments.
+
+## Sample Tasks
+After acquiring sufficient theoretical knowledge, we recommend that you visit 
the following [examples](/en/overview/tasks/mesh) for hands-on practice.
+
+## Visualization
+We recommend using [Dubbo Admin](/zh-cn/overview/tasks/deploy) as the 
visualization console for your Dubbo cluster. It is compatible with all 
Kubernetes, Mesh, and non-Mesh architecture deployments.
+
+Additionally, you can use [Istio's official recommended visualization 
tools](https://istio.io/latest/docs/tasks/observability/kiali/) to manage your 
Dubbo Mesh cluster.
+
+## Integration with Non-Istio Control Planes
+Dubbo Mesh itself is not tied to any control plane product implementation. You 
can use Istio, Linkerd, Kuma, or any control plane product that supports the 
xDS protocol. The same applies to Sidecars.
+
+If you have already experienced the [Dubbo Mesh based on Istio](/) sample 
tasks and find that Istio meets your governance needs for Dubbo Mesh, then 
adopting Istio as your control plane is the preferred solution.
+
+If you find that Dubbo's capabilities are limited in Istio mode and need those 
capabilities, you may consider integrating Dubbo's control plane to replace 
Istio for better native Dubbo support and performance. For details, please 
refer to [Dubbo Mesh Sample Tasks based on Custom Dubbo Control Plane](/).
+
+> In short, this is a customized version of the control plane released by the 
Dubbo community based on Istio. For installation and capability differences of 
Dubbo's control plane, please refer to the sample task link above.

Reply via email to