同步操作将从 柠檬夕桐/lemon 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
The Micro Service Gateway Framework.
Lemon is a high-performance, Java based open source gateway framework.
基于Netty4的微服务网关(Micro Service Gateway)。同时支持Dubbo泛化调用和HTTP调用,并支持自定义实现微服务网关请求的代理转发功能。
GitHub:https://github.com/yu120/lemon
QQ交流群:微服务基础架构(191958521)
微信交流:请加echo-lry
Config Path: src/main/resources/lemon.yml
port: 8080
application: lemon
# Netty IO/Work thread number
ioThread: 0
workThread: 0
# Body max content length, 64 * 1024 * 1024 = 64 MB
maxContentLength: 67108864
# Max client connection channel number
maxChannel: 100000
#
bizCoreThread: 20
bizMaxThread: 200
bizQueueCapacity: 800
bizKeepAliveTime: 60000
# Custom Fixed Response Header Parameter Configuration
resHeaders:
Connection: keep-alive
Accept-Encoding: gzip,deflate
Content-Type: application/json;charset=UTF-8
originalHeaders: [Connection, Content-Type, Set-Cookie, Call-Code, Call-Message]
# Dubbo lemon config
dubbo:
registryAddress: zookeeper://127.0.0.1:2181
metadataAddress: zookeeper://127.0.0.1:2181
# Direct forwarding HTTP rule
services:
- category: jsoup
service: /baidu/**
url: https://www.baidu.com
- category: jsoup
service: /oschina/**
url: https://www.oschina.net
The support apache dubbo 2.7.2 generic service proxy.
Format:
URL:
http://[host]:[port]/lemon/[application]/[service or serviceSimpleName]/[method]?group=[group]&version=[version]
Body:
List[Map{...}, Map{...}, ...]
Example:
http://localhost:8080/lemon/micro-dubbo-provider/cn.micro.biz.dubbo.provider.DemoService/test
or
http://localhost:8080/lemon/micro-dubbo-provider/demo/test
[{"name":"lemon", "age":23}, {"10001"}]
Proxy forwarding using jsoup.
http://[host]:[port]/lemon/[service]/**?group=[group]&version=[version]
TODO
TODO
mvn clean install -Denforcer.skip=true -Dmaven.test.skip=true
The target directory: target/lemon-1.0.0-SNAPSHOT-dist.tar.gz
After successful execution, lemon-1.0.0-SNAPSHOT-dist.tar.gz
will be generated in the directory of target
.
> tar -zxvf lemon-1.0.0-SNAPSHOT-dist.tar.gz
> cd bin
> ./app start
# Usage: app { console | start | stop | restart | status | dump }
Alibaba Arthas
arthas-boot:
> wget https://alibaba.github.io/arthas/arthas-boot.jar
> java -jar arthas-boot.jar
as.sh:
> curl -L https://alibaba.github.io/arthas/install.sh | sh
> ./as.sh
可以直接访问:http://127.0.0.1:8563
The metadata report config must be used.
import DemoService;
import DemoServiceImpl;
import org.apache.dubbo.config.*;
public class ProviderDemo {
public static void main(String[] args) throws Exception {
// Implementation
DemoService demoService = new DemoServiceImpl();
// Application Info
ApplicationConfig application = new ApplicationConfig();
application.setName("micro-dubbo-provider");
// Registry Info
RegistryConfig registry = new RegistryConfig();
registry.setAddress("zookeeper://127.0.0.1:2181");
// Metadata Report Info
MetadataReportConfig metadataReportConfig = new MetadataReportConfig();
metadataReportConfig.setAddress("zookeeper://127.0.0.1:2181");
// Protocol
ProtocolConfig protocol = new ProtocolConfig();
protocol.setName("dubbo");
protocol.setPort(12345);
protocol.setThreads(200);
// Exporting: In case of memory leak, please cache.
ServiceConfig<DemoService> service = new ServiceConfig<>();
service.setApplication(application);
// Use setRegistries() for multi-registry case
service.setRegistry(registry);
// Use setProtocols() for multi-protocol case
service.setProtocol(protocol);
service.setMetadataReportConfig(metadataReportConfig);
service.setInterface(DemoService.class);
service.setRef(demoService);
// Local export and register
service.export();
System.in.read();
}
}
Lemon is under the MIT license. See the LICENSE file for details.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。