首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/u/4865736/blog/5555568

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

五分钟给你的 gRPC 服务加上 HTTP 接口

gRPC 服务要加 HTTP 接口? go-zero 给大家带来极简的 RESTful 和 gRPC 服务开发体验的同时,社区又给我们提出了新的期望: 我想只写一次代码 既要 gRPC 接口 也要 HTTP 接口 既要。。。也要。。。 也有道理嘛!你看用户怎么说: 用户A:一套逻辑,api和rpc一起 用户B:go-zero要是能简化这一步我感觉会成为go生态中最好的微服务框架没有之一 于是,我陷入了深深的思考:用户从来是不会错的,但是我们要不要提供呢? 于是,你看到了这篇文章。。。 我们先提供 gRPC 服务 对于这种服务,我们太熟了。新建一个目录,就叫 grpc-restufl 吧,里面放个 sum.proto 文件 syntax = "proto3"; package sum; option go_package="./pb"; message Numbers { int64 a = 1; int64 b = 2; } message SumRequest { Numbers numbers =1; } message SumResponse { int64 result = 1...

线程池,我是谁?我在哪儿?

大家好,这篇文章跟大家探讨下日常使用线程池的各种姿势,重点介绍怎么在 Spring 环境中正确使用线程池。 线程池使用姿势 首先问大家一个问题,你日常开发中是怎样使用线程池的? 我想大致可以分为以下四种情况: 1.方法级,随用随建,用完关闭 2.类级共享,定义个 static final 修饰的 ThreadPoolExecutor,该类及子类(看修饰符)所有对象、方法共享 3.业务共享,按业务类型定义多个 ThreadPoolExecutor,相同业务类型共享同一线程池对象 4.全局共享,服务所有地方共享同一全局线程池 一般来说,优先使用方式3,其次方式2,不要使用方式1跟4,原因如下 1.线程池出现的目的就是为了统一管理线程资源,减少频繁创建销毁线程带来的开销,使用池化技术复用线程执行任务,提升系统性能,在高并发、异步化的场景下,方法级使用根本达不到此目的,反而会使性能变低。 2.全局共享一个线程池,任务执行参差不齐,相互影响,高耗时任务会占满线程池资源,导致低耗时任务没机会执行;同时如果任务之间存在父子关系,可能会导致死锁的发生,进而引发OOM。 3.按业务类型进行线程池隔离,各...

相关文章

发表评论

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

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文件系统,支持十年生命周期更新。

用户登录
用户注册