tencentfemas / femas Goto Github PK
View Code? Open in Web Editor NEWJavaAgent-based Microservice Governance Platform
Home Page: https://zilongtong.notion.site/Femas-Home-4e1ad62bc48d4f23b6063c460a337c40
License: Other
JavaAgent-based Microservice Governance Platform
Home Page: https://zilongtong.notion.site/Femas-Home-4e1ad62bc48d4f23b6063c460a337c40
License: Other
There are some code not contain generics which is defined
Is there a RESTful API document for guidance?
请问路线图有具体规划吗,比如2.0版本计划发布时间
Femas official sdk only supports springcloud Greenwich & 2020 , Hoxton support has not been tested.
Help alibaba dubbo support agent access
follow the guidance : http://femas.io/doc/develop/agent_plugin.html
ETCD is widely used in microservice domain, maybe it can be used as a registry under femas.
Lack of unit tests
Refer to the example (governance-impl /test)
via bytebuddy to implment agent ,that make java rpc framwork convenient access to femas without sdk dependency.
help consul regitry support agent access
follow the guidance : http://femas.io/doc/develop/agent_plugin.html
exampel:https://github.com/polarismesh/femas/blob/develop/femas-agent/femas-agent-plugin/femas-springcloud-plugin/femas-springcloud-greenwich-nacos-plugin/src/main/java/com/tencent/tsf/femas/agent/nacos/instrument/NacosServiceRegistryInterceptor.java
Hi:
make build image is ok , but cannot execute docke run
`
1: docker run registry.tce.com/femas/all:5d4c00f
dirname: missing operand
Try 'dirname --help' for more information.
tail: cannot open '/../logs/*.out' for reading: No such file or directory
tail: no files remaining
2:check entrypoint.sh script , This command has no output
root@0c84359d52f8:/usr/local/src/femas# find /usr/local/src/femas -regex "./femas-admin-starter-./startup.sh$
3:root@0c84359d52f8:/usr/local/src/femas# find . -name "*.sh"
./entrypoint.sh
./femas-console/femas-admin/bin/shutdown.sh
./femas-console/femas-admin/bin/startup.sh
`
need to fix the entry script ?
We need a GitHub actions file to build and test source file
,An attempt was made to call a method that does not exist. The attempt was made from the following location:
com.tencent.tsf.femas.springcloud.gateway.config.FemasDiscoveryAutoConfiguration$FemasNacosConfiguration.nacosServiceDiscovery(FemasDiscoveryAutoConfiguration.java:60)
The following method did not exist:
com.alibaba.cloud.nacos.discovery.NacosServiceDiscovery.<init>(Lcom/alibaba/cloud/nacos/NacosDiscoveryProperties;)V
The method's class, com.alibaba.cloud.nacos.discovery.NacosServiceDiscovery, is available from the following locations:
jar:file:/D:/gradle_cache/caches/modules-2/files-2.1/com.alibaba.cloud/spring-cloud-starter-alibaba-nacos-discovery/2.2.6.RELEASE/b5ff1915683ade1a5ab430537d2bb6e5bd2bc586/spring-cloud-starter-alibaba-nacos-discovery-2.2.6.RELEASE.jar!/com/alibaba/cloud/nacos/discovery/NacosServiceDiscovery.class
The class hierarchy was loaded from the following locations:
com.alibaba.cloud.nacos.discovery.NacosServiceDiscovery: file:/D:/gradle_cache/caches/modules-2/files-2.1/com.alibaba.cloud/spring-cloud-starter-alibaba-nacos-discovery/2.2.6.RELEASE/b5ff1915683ade1a5ab430537d2bb6e5bd2bc586/spring-cloud-starter-alibaba-nacos-discovery-2.2.6.RELEASE.jar
Action:
Correct the classpath of your application so that it contains a single, compatible version of com.alibaba.cloud.nacos.discovery.NacosServiceDiscovery
请求进来的时候,FemasRouteLoadBalancer#getInstanceResponse方法中, com.tencent.tsf.femas.common.entity.Request femasRequest = Context.getRpcInfo().getRequest()里的targetService的namespace为null,Context.getRpcInfo()里的metadata里显示 是有 namespace。因为targetService的namespace为null,导致路由时候调用RouterRuleManager#getRouteRuleGroup的时候获取到的RouteRuleGroup为null,因为RouterRuleManager#getRouteRuleGroup传入的service是有namespace的。我测试的是springcloud 网关。不确定其它场景是不是有这样的问题。
Supports agent access for higher versions of springcloud loadbalancer
follow the guidance : http://femas.io/doc/develop/agent_plugin.html
We need to improve code and readable, like generic, optional
<spring.cloud.tencent.version>1.0.0.2020-SNAPSHOT</spring.cloud.tencent.version>
<spring.cloud.tencent.version>1.0.0.Greenwich-SNAPSHOT</spring.cloud.tencent.version>
can not find spring-cloud-tencent-dependencies
in public maven repository
当项目加载的是ReactiveLoadBalancerClientFilter而不是LoadBalancerClientFilter时,FemasReactiveLoadBalancerClientFilter未被加载到调用的 filter chains中
Users only need to depend on femas-registry,Configure the address of the registration center to be accessed,femas can help users access any registry, for example: Polaris 、nacos、consul、etcd、k8s、eureka
When I run startup.cmd, it will throw a RuntimeException. Caused by: java.lang.RuntimeException: Can not locate agent jar file.
微信群满了,怎么加入
femas via extend RegistrationCustomizer interface to achieve registering metadata,but eureka does not support Customizer.
extend springcloud common registation , register femas's matedata to eureka.
extend EurekaRegistration or EurekaInstanceConfigBean
see #com.tencent.tsf.femas.extension.springcloud.discovery.eureka.FemasEurekaRegistrationCustomizer
The default ubuntu image of dockerfile cannot be accessed. Can you update it to public address?
FROM hub.grepcode.cn:55582/basic/ubuntu:20.04
[femas]# make
docker build -f Dockerfile -t registry.tce.com/femas/all:5d4c00f .
Sending build context to Docker daemon 704.1MB
Step 1/10 : FROM hub.grepcode.cn:55582/basic/ubuntu:20.04
Get "https://hub.grepcode.cn:55582/v2/": dial tcp 221.232.175.118:55582: connect: connection refused
make: *** [build-image] Error 1
femas support dubbo 3.0
Could someone tell me where I can find go SDK, I will provide a register and config watcher implement for go-kratos
etcd registry need unit test
We need to make log file can rollingoutput like DailyRollingFileAppender and RollingFileAppender
We nee make Java docs complete
what do we want
help dubbo 3.0.X support agent access
how to achieve
follow the guidance : http://femas.io/doc/develop/agent_plugin.html
环境情况:
代码分支:基于develop最新dubbo2.X系列
运行环境:macos M1
情况描述:
dubbo提供方设置超时时间大于消费方等待时间,反复调用之后,一直持续报出 Invoke remote method timeout......
。只有等待提供方恢复正常状态下,消费方才能继续正常进行消费。
个人想法:
消费方调用之后,在一定时间内,根据返回异常 (such as org.apache.dubbo.rpc.RpcException#TIMEOUT_EXCEPTION
)是否 是否可以在一定时间在afte***Invoke
将此接口进行降级或者限流措施,之后再根据外部触发控制 或者 内部一定时间内进行阈值放开进行调用?
@zilongTong 大佬有啥意见
We need registry unit tests for actions to test
what do we want
Help Apache dubbo support agent access
how to achieve
follow the guidance : http://femas.io/doc/develop/agent_plugin.html
The connection from sdk to server is plug-in,
see #com.tencent.tsf.femas.governance.config.impl.ServerConnectorConfigImpl,
The current practice is http connection polling the data form femas server, We want to support grpc protocol to improve performance
use win10 start femas-admin.jar happend
Cannot determine JNI library name for ARCH='x86' OS='windows 10' name='rocksdb
Include the consul hat has already opened acl will response acl
Amd cpu, win10 home 启动 femas-admin.jar 出现 Cannot determine JNI library name for ARCH='x86' OS='windows 10' name='rocksdb', 在启动脚本上面 加上 -DdbType=external使用mysql数据库可以正常启动
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.