{"id":27611904,"url":"https://github.com/mr-vincent/simple-rpc","last_synced_at":"2025-04-23T00:46:20.084Z","repository":{"id":46804215,"uuid":"124900417","full_name":"Mr-Vincent/simple-rpc","owner":"Mr-Vincent","description":null,"archived":false,"fork":false,"pushed_at":"2021-09-24T16:13:44.000Z","size":276,"stargazers_count":6,"open_issues_count":8,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-23T00:46:14.817Z","etag":null,"topics":["rpc"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Mr-Vincent.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-03-12T14:19:30.000Z","updated_at":"2022-04-23T00:56:22.000Z","dependencies_parsed_at":"2022-09-23T04:31:59.167Z","dependency_job_id":null,"html_url":"https://github.com/Mr-Vincent/simple-rpc","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mr-Vincent%2Fsimple-rpc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mr-Vincent%2Fsimple-rpc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mr-Vincent%2Fsimple-rpc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mr-Vincent%2Fsimple-rpc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mr-Vincent","download_url":"https://codeload.github.com/Mr-Vincent/simple-rpc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250348873,"owners_count":21415907,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["rpc"],"created_at":"2025-04-23T00:46:19.709Z","updated_at":"2025-04-23T00:46:20.076Z","avatar_url":"https://github.com/Mr-Vincent.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"### simple-rpc\n一款十分简单的rpc框架 渣渣性能 仅供娱乐消遣\n\n### features\n* 采用最传统的阻塞io，性能足以被任何框架秒杀\n* ~~纯jdk实现，无任何第三方依赖~~\n\n### 性能\n- [x] 同步调用\n#### 第0次优化\n没有任何优化的结果：\n\n ~~Request count: 256000, time: 506 second, qps: 505~~\n#### 第1次优化\n\n 本屌将同步方式改为炫酷的AQS实现，放弃使用sync关键字（原因在于sync是基于字节码，在jvm指令层实现的同步，开销很大，而AQS基于语义实现的同步）性能提升了3倍，优化效果很棒！\n \n ~~Request count: 256000, time: 177 second, qps: 1446~~\n####  第2次优化\n\n 本屌又将序列化方式换为google的proto实现 性能提升不是很明显，因为只是将字节压缩了，测试跑在同一台机器上，没法体现。\n\n ~~Request count: 256000, time: 141 second, qps: 1815~~\n\n#### 第3次优化 \n \n 本屌将服务端的反射实现改为cglib而不是用jdk原生实现，性能有所提高。\n \n **（最新数据）Request count: 256000, time: 116 second, qps: 2206**\n\n### 开始重构\n\n#### todo\n- [ ] 网络接口层抽象\n- [ ] 自定义实现注册中心\n- [ ] spi加载机制\n- [ ] spring支持\n- [ ] 异步调用支持\n\n\n ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmr-vincent%2Fsimple-rpc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmr-vincent%2Fsimple-rpc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmr-vincent%2Fsimple-rpc/lists"}