Giter Site home page Giter Site logo

Comments (5)

Mikaelemmmm avatar Mikaelemmmm commented on June 16, 2024

取决于不同公司不同时期的架构,你可以选择 一个api作为业务网关类似springcloud gateway 这种功能,或者起到一个bff作用,业务都写在下游rpc 也没什么问题,多个api拆分开 相当于把不同业务拆开了,前面在有一个nignx、kong这种网关

from go-zero-looklook.

Mikaelemmmm avatar Mikaelemmmm commented on June 16, 2024

只有你说应该有一个公共授权的服务,最早1.0.0的tag,我是有一个identity的服务,在nignx中调用的 ,nginx的auth插件会先经过这个identity认证在调用下游,后来被我移除了 统一改成了go-zero默认自带的jwt

from go-zero-looklook.

VioletCoding avatar VioletCoding commented on June 16, 2024

取决于不同公司不同时期的架构,你可以选择 一个api作为业务网关类似springcloud gateway 这种功能,或者起到一个bff作用,业务都写在下游rpc 也没什么问题,多个api拆分开 相当于把不同业务拆开了,前面在有一个nignx、kong这种网关

看了一下go-zero里的gRPC-gateway,用法上还是需要改代码,比如rpc服务新增一个接口,网关也得去声明rpc服务然后去调接口,相当于每加一个接口,网关和下游的业务rpc都得更新代码。之前没怎么碰过 gRPC,写Java用的是OpenFeign,倒是没在意过这么多,写完一个接口也只是更新下游业务服务,网关是完全不用动的,网关无状态的都是水平拓展即可。如果用go-zero要做到这种效果的话,是不是得每个下游服务既开启HTTP又开启gRPC?这样网关反向代理过来走HTTP,下游服务与服务之间用gRPC,是否也是能做到的?

from go-zero-looklook.

VioletCoding avatar VioletCoding commented on June 16, 2024

取决于不同公司不同时期的架构,你可以选择 一个api作为业务网关类似springcloud gateway 这种功能,或者起到一个bff作用,业务都写在下游rpc 也没什么问题,多个api拆分开 相当于把不同业务拆开了,前面在有一个nignx、kong这种网关

看了一下go-zero里的gRPC-gateway,用法上还是需要改代码,比如rpc服务新增一个接口,网关也得去声明rpc服务然后去调接口,相当于每加一个接口,网关和下游的业务rpc都得更新代码。之前没怎么碰过 gRPC,写Java用的是OpenFeign,倒是没在意过这么多,写完一个接口也只是更新下游业务服务,网关是完全不用动的,网关无状态的都是水平拓展即可。如果用go-zero要做到这种效果的话,是不是得每个下游服务既开启HTTP又开启gRPC?这样网关反向代理过来走HTTP,下游服务与服务之间用gRPC,是否也是能做到的?

倒也不是说这样不好,就是在开发体验上有点繁琐

from go-zero-looklook.

Mikaelemmmm avatar Mikaelemmmm commented on June 16, 2024

取决于不同公司不同时期的架构,你可以选择 一个api作为业务网关类似springcloud gateway 这种功能,或者起到一个bff作用,业务都写在下游rpc 也没什么问题,多个api拆分开 相当于把不同业务拆开了,前面在有一个nignx、kong这种网关

看了一下go-zero里的gRPC-gateway,用法上还是需要改代码,比如rpc服务新增一个接口,网关也得去声明rpc服务然后去调接口,相当于每加一个接口,网关和下游的业务rpc都得更新代码。之前没怎么碰过 gRPC,写Java用的是OpenFeign,倒是没在意过这么多,写完一个接口也只是更新下游业务服务,网关是完全不用动的,网关无状态的都是水平拓展即可。如果用go-zero要做到这种效果的话,是不是得每个下游服务既开启HTTP又开启gRPC?这样网关反向代理过来走HTTP,下游服务与服务之间用gRPC,是否也是能做到的?

跟框架无关,跟底层协议有关,grpc+protobuf跟http不一样,可以多了解一下

from go-zero-looklook.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.