Skip to content

Commit

Permalink
Merge branch 'master' into 1110-idl
Browse files Browse the repository at this point in the history
  • Loading branch information
AlbumenJ committed Nov 10, 2023
2 parents 37fe622 + b28963d commit 4d4b9b7
Show file tree
Hide file tree
Showing 46 changed files with 1,515 additions and 86 deletions.
1 change: 1 addition & 0 deletions .htmltest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ IgnoreURLs: [
"https://blog.csdn.net/.*",
"https://www.baeldung.com/bdd-mockito",
"https://docs.github.com/.*",
"http://hessian.caucho.com/.*",
"https://doi.org/10.1145/3593856.3595909",
"https://github.com/dubbo/awesome-dubbo/blob/master/slides/meetup/201812%40hangzhou/troubleshooting-dubbo-with-arthas.pdf",
"https://apachecon.dukecon.org/acna/2018/#/scheduledEvent/b8db9dc580d85853f",
Expand Down
56 changes: 56 additions & 0 deletions content/en/blog/news/intellij-idea-dubbo-plugin.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
title: "Introduction to Apache Dubbo plugin for IntelliJ IDEA"
linkTitle: "Introduction to Apache Dubbo plugin for IntelliJ IDEA"
date: 2023-10-23
tags: ["news"]
authors: Dubbo Community
description: >
A brief introduction to Apache Dubbo plugin for IntelliJ IDEA
---

The most popular Java IDE, IntelliJ IDEA, has collaborated with the open-source microservice framework Apache Dubbo community, bringing good news to microservice developers. Along with IntelliJ IDEA version 2023.2, Jetbras has officially released the new **Apache Dubbo in Spring Framework** plugin version.

This plugin can help developers with Dubbo project initialization and facilitate the identification of Dubbo services and their dependencies during the project development process. Developing microservices based on Apache Dubbo will become very simple.


## How to install
Before installing the Apache Dubbo plugin, please ensure that you are using IntelliJ IDEA version 2023.2 and above.

![image.png](/imgs/blog/2023/10/plugin/img.png)

There are two ways to complete the installation of the Apache Dubbo plugin

### Method 1
Open [the Apache Dubbo in Spring Framework plugin page](https://plugins.jetbrains.com/plugin/20938-apache-dubbo-in-spring-framework) with browser, and in the upper right corner of the page, click the "Install to IntelliJ IDEA 2023.2" button to complete the plugin installation.

![image.png](/imgs/blog/2023/10/plugin/img_1.png)
### Method 2
Open 'Preferences ->Plugins', enter 'Apache Dubbo' to search for plugins, and then install them.

![image.png](/imgs/blog/2023/10/plugin/img_2.png)

## Create a new Dubbo application
Next, let's take a look at how to use the plugin to create and develop an Apache Dubbo microservice application.
### The 'New Project' pop-up window
Open the 'New Project' window through 'File>New>Project'. In the pop-up window, you can see that the Apache Dubbo plugin has appeared in the generators list on the left. Click to select it.

![image.png](/imgs/blog/2023/10/plugin/img_3.png)

According to the application needs, enter the project name, save path, coordinates, JDK version, and other information. Click "Next" to proceed to the next step.

### Select Components

![image.png](/imgs/blog/2023/10/plugin/img_4.png)

The plugin will use dubbo spring boot starter to create a Spring Boot project, so we

- Firstly, you need to choose the versions of Dubbo and Spring Boot.
- Secondly, select the corresponding Dubbo and business components according to the project needs

Finally, click "Create" to complete the project creation.

![image.png](/imgs/blog/2023/10/plugin/img_5.png)

## Summary
The release of the official IntelliJ IDEA plugin greatly simplifies the cost of initializing the Dubbo project.
In addition to the plugin format, you can also directly open the start.dubbo.apache.org online service to quickly create Dubbo projects through a browser.
5 changes: 5 additions & 0 deletions content/en/blog/proposals/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: "Proposals About Apache Dubbo"
linkTitle: "Proposals"
weight: 20
---
5 changes: 5 additions & 0 deletions content/en/blog/proposals/service-discovery.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: "Application-Level Service Discovery"
description: >
The Application-Level Service Discovery
---
9 changes: 9 additions & 0 deletions content/en/blog/security-notices/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@

---
type: docs
title: "Security notices"
linkTitle: "Security notices"
description: "Dubbo security notices"
weight: 90
---

File renamed without changes.
20 changes: 20 additions & 0 deletions content/en/blog/security-notices/serialization-security.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
title: "Serialization Protocol Security"
linkTitle: "Serialization Protocol Security"
weight: 1
tags: ["Security Vulnerabilities"]
description: "Safer use of serialization protocols in Dubbo"
---

Dubbo 3 has enhanced the security aspects of serialization protocols and recommends using the Triple protocol in non-Wrapper mode. This protocol is secure by default but requires developers to write IDL files.

In the Triple protocol's Wrapper mode, compatibility with other serialization data is allowed, offering good compatibility. However, other protocols may have deserialization security flaws. For the Hessian2 protocol, users who require high-security attributes should enable whitelist mode according to the sample code. The framework will enable blacklist mode by default to block malicious calls.

Using other serialization protocols is not recommended. When an attacker can access the Provider interface, security flaws in other serialization protocols may lead to command execution through the Provider interface.

If you must use other serialization protocols and wish to maintain some level of security, you should enable the Token authentication mechanism. This will prevent threats to the Provider's security from unauthenticated and untrusted request sources. When enabling Token authentication, you should also enable the authentication feature in the registry.

## Notice
The following serializations are proved that not safe enough to transfer on network and not recommend to use.
- native-hessian
- native-java (Java ObjectOutputStream and ObjectInputStream)
9 changes: 0 additions & 9 deletions content/en/docs/notices/_index.md

This file was deleted.

1 change: 0 additions & 1 deletion content/en/docs3-v2/_index.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

---
type: docs
title: "SDK Manual"
Expand Down
7 changes: 7 additions & 0 deletions content/en/docs3-v2/rust-sdk/protocol.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
type: docs
title: "Network Protocol"
linkTitle: "Network Protocol"
weight: 3
description: "Network Protocol"
---
46 changes: 39 additions & 7 deletions content/en/overview/core-features/ecosystem.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,43 @@
---
description: Microservices Ecosystem
feature:
description: |
One-stop microservice ecosystem adaptation: service registry, gateway, rate limiting and fallback, load balancing, consistent transactions, asynchronous messaging, tracing, and more.
title: Rich Ecosystem
linkTitle: Microservices Ecosystem
title: Microservices Ecosystem
type: docs
title: "微服务生态"
linkTitle: "微服务生态"
weight: 90
description: ""
feature:
title: Ecosystem
description: >
One-stop microservice ecological adaptation: registration center, gateway, current limiting and downgrading, load balancing, consistent transactions, asynchronous messages, Tracing, etc.
---

The Dubbo community, along with numerous outstanding open-source projects, has established a rich microservices ecosystem support around Dubbo. This allows developers to opt for Dubbo as their development framework without worrying about subsequent service governance needs. From day one, Dubbo offers production-level solutions for every common issue.

The table below shows the support for ecosystem components based on the latest Dubbo Java 3.2.x version, which will be continuously updated based on development progress. The completeness of components supported in each language may vary. For specifics, please refer to the detailed explanations in each [language reference manual](../../mannual/).



| Feature | Component List | Component List | Component List | Component List | Component List |
|-------------------------------------|------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------|
| Service Discovery | [Zookeeper](/en/docs3-v2/java-sdk/reference-manual/registry/zookeeper/) | [Nacos](/en/docs3-v2/java-sdk/reference-manual/registry/nacos/) | [Kubernetes Service](/) | DNS​``oaicite:{"number":1,"invalid_reason":"Malformed citation 【Under Development】"}``​ | [More](https://github.com/apache/dubbo-spi-extensions/tree/master/dubbo-registry-extensions) |
| Dynamic Configuration | [Zookeeper](/en/docs3-v2/java-sdk/reference-manual/config-center/zookeeper/) | [Nacos](/en/docs3-v2/java-sdk/reference-manual/config-center/nacos/) | [Apollo](/en/docs3-v2/java-sdk/reference-manual/config-center/apollo/) | Kubernetes​``oaicite:{"number":2,"invalid_reason":"Malformed citation 【Under Development】"}``​ | [More](https://github.com/apache/dubbo-spi-extensions/tree/master/dubbo-configcenter-extensions) |
| Metadata Management | [Zookeeper](/en/docs3-v2/java-sdk/reference-manual/metadata-center/zookeeper/) | [Nacos](/en/docs3-v2/java-sdk/reference-manual/metadata-center/nacos/) | [Redis](/zh-cn/overview/mannual/java-sdk/reference-manual/metadata-center/redis/) | Kubernetes​``oaicite:{"number":3,"invalid_reason":"Malformed citation 【Under Development】"}``​ | [More](https://github.com/apache/dubbo-spi-extensions/tree/master/dubbo-metadata-report-extensions) |
| RPC Protocols | [HTTP/2 (Triple)](/en/docs3-v2/java-sdk/reference-manual/protocol/triple/) | [TCP](/zh-cn/overview/reference/protocols/tcp/) | [HTTP/REST​``oaicite:{"number":4,"invalid_reason":"Malformed citation 【Alpha】"}``​](/en/docs3-v2/java-sdk/reference-manual/protocol/http) | [gRPC](/en/docs3-v2/java-sdk/reference-manual/protocol/triple) | [More](/en/docs3-v2/java-sdk/reference-manual/protocol/) |
| Visualization & Monitoring Platform | [Admin](/zh-cn/overview/tasks/observability/admin/) | [Grafana](/zh-cn/overview/tasks/observability/grafana/) | [Prometheus](/zh-cn/overview/tasks/observability/prometheus/) | - | - |
| Full-link Tracing | [Zipkin](/zh-cn/overview/tasks/observability/tracing/zipkin/) | [Skywalking](/zh-cn/overview/tasks/observability/tracing/skywalking/) | [OpenTelemetry](https://github.com/apache/dubbo-samples/tree/master/4-governance/dubbo-samples-spring-boot3-tracing#2-adding-micrometer-tracing-bridge-to-your-project) | - | - |
| Rate Limiting & Fallback | [Sentinel](/zh-cn/overview/tasks/rate-limit/sentinel) | [Resilience4j](/zh-cn/overview/tasks/rate-limit/resilience4j) | [Hystrix](/zh-cn/overview/tasks/rate-limit/hystrix) | - | - |
| Distributed Transactions | [Seata](/en/overview/tasks/ecosystem/transaction/) | - | - | - | - |
| Gateway | [Higress] | [APISIX](/zh-cn/overview/tasks/ecosystem/gateway/) | [Shenyu] | [Envoy](https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/network_filters/dubbo_proxy_filter) | - |
| Service Mesh | Istio​``oaicite:{"number":5,"invalid_reason":"Malformed citation 【Under Development】"}``​ | [Aeraka](https://www.aeraki.net/) | OpenSergo​``oaicite:{"number":6,"invalid_reason":"Malformed citation 【Under Development】"}``​ | Proxyless​``oaicite:{"number":7,"invalid_reason":"Malformed citation 【Alpha】"}``​ | More |


## Microservices Ecosystem Example Architecture

{{< mse >}}

{{< blocks/section color="white" height="auto" >}}
<div class="msemap-section">
<div class="msemap-container">
<div id="mse-arc-container"></div>
</div>
</div>
{{< /blocks/section >}}

0 comments on commit 4d4b9b7

Please sign in to comment.