首页 文章 精选 留言 我的

精选列表

搜索[轻量级mvc框架],共10008篇文章
优秀的个人博客,低调大师

Agileutil v0.0.2 发布,轻量级 Python RPC 框架

本次更新的版本是v0.0.2, 在v0.0.1的基础上,对TCP/UDP/HTTP等协议的服务端、客户端类库进行改造,都支持了服务注册发现。 Agileutil既支持客户端与服务端直连,也支持服务注册发现 (客户端与服务端直连的例子,请参考上面的TcpRpcServer部分)。 目前仅支持基于Consul的服务发现,未来计划支持etcd。TCP/UDP/HTTP这些协议的服务端、客户端类库均支持服务注册发现,下面的例子以TCP为例。 健康检查 基于Consul的Check机制。服务注册后,自动添加一个定期的健康检查(默认为TCP端口检查,未来有计划支持HTTP健康检查)。一旦服务进程挂掉,那么客户端将请求到其他健康的服务节点上。同时客户端也存在重试机制,由于健康检查存在时间间隔,可能服务端进程挂掉后,仍需等待一段时间才被Consul发现,这时客户端如果请求到挂掉的服务节点上失败后,客户端会尝试请求其他服务节点进行重试。 快速开始 服务注册发现的使用也很简单,请耐心看完。 第一步,你需要定义一个DiscoverConfig对象。 指定用于服务注册发现的Consul的地址和端口。同时通过serviceName参数指定一个全局唯一的服务名称(用于标记服务端服务)。同时指定服务端监听的地址和端口。 from agileutil.rpc.discovery import DiscoveryConfig disconf = DiscoveryConfig( consulHost = '192.168.19.103', consulPort = 8500, serviceName = 'test-rpc-server', serviceHost = local_ip(), servicePort = 9988 ) 说明: 1.consulHost 和 consulPort 参数指定Consul的地址和端口 2.ServiceName 参数用于标记服务端名称,并通过服务名称进行服务发现,需要保证全局唯一 3.serviceHost和servicePort参数指定服务端监听的端口和地址 第二步、调用setDiscoverConfig()方法将DiscoveryConfig对象传入 第三步,之后调用serve()方法,开始处理请求 s = TcpRpcServer('0.0.0.0', 9988) s.regist(sayHello) disconf = DiscoveryConfig( consulHost = '192.168.19.103', consulPort = 8500, serviceName = 'test-rpc-server', serviceHost = local_ip(), servicePort = 9988 ) s.setDiscoverConfig(disconf) s.serve() 完整的服务端示例 (UDP/HTTP调用方式相同) from agileutil.rpc.server import TcpRpcServer from agileutil.rpc.discovery import DiscoveryConfig disconf = DiscoveryConfig( consulHost = '192.168.19.103', consulPort = 8500, serviceName = 'test-rpc-server', serviceHost = local_ip(), servicePort = 10001 ) server = TcpRpcServer('0.0.0.0', 10001) server.setDiscoverConfig(disconf) server.regist(sayHello) server.serve() 完整的客户端示例(UDP/HTTP调用方式相同) 创建DiscoveryConfig对象,指定Consul的地址端口(serviceName参数和服务端的保持一致,且全局唯一) 调用setDiscoveryConfig()方法传入服务发现配置 from agileutil.rpc.client import TcpRpcClient from agileutil.rpc.discovery import DiscoveryConfig cli = TcpRpcClient() disconf = DiscoveryConfig( consulHost= '192.168.19.103', consulPort= 8500, serviceName='test-rpc-server' ) cli.setDiscoveryConfig(disconf) for i in range(3): resp = cli.call(func = 'sayHello', args=('mary'))

优秀的个人博客,低调大师

DDDplus 2.1.0 发布 | 轻量级DDD正向/逆向业务建模框架

Feature 通过apache bcel库实现完全非侵入式call graph图 提示哪些类和方法在关系图上可能被排除 支持用户自定义类关系 提供io.github.dddplus:dddplus-maven-plugin的三个功能 与IDEA内置的Call Hierarchy功能相比 IDEA只能基于单个方法分析,DDDplus全局分析 提供配置驱动的噪音过滤机制,使得自动生成的关系图突出重点 model 基于DDDplus DSL标注产生的逆向业务模型 call 完全非侵入式基于字节码增强机制分析jar包生成类方法调用关系图 polymorphism 完全非侵入式基于AST Parser自动生成具有多态的类关系图 enforce DDDplus正向建模的架构约束强化工具 Full Changelog:v2.0.3...v2.1.0

优秀的个人博客,低调大师

DDDplus 2.0.3 发布 | 轻量级 DDD 正/逆向业务建模框架

DDDplus扩充了 DDD,通过正向的 DDD 建模,配合基于 DSL 声明式标注从而让代码自动生成业务模型的逆向建模过程,实现了:代码与模型统一,统一语言,抑制熵增。 Feature 根据源代码AST分析,形成结构化数据,导出到sqlite数据库 生成原始的plantuml文件 可以修改实体所在的包 KeyUsecase图里显示类的javadoc 业务字典,枚举类,也可以使用 KeyElement 进行标注 PlantUML类图里,KeyFlow对应的文件可以点击,自动在IDEA中打开到对应位置 Bug Fix 逆向分析时,KeyRelation会把一个类放在了错误的package Full Changelog:v2.0.1...v2.0.3

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册