GNU social JP
  • FAQ
  • Login
GNU social JPは日本のGNU socialサーバーです。
Usage/ToS/admin/test/Pleroma FE
  • Public

    • Public
    • Network
    • Groups
    • Featured
    • Popular
    • People

Embed Notice

HTML Code

Corresponding Notice

  1. Embed this notice
    feld (feld@bikeshed.party)'s status on Tuesday, 11-Jul-2023 04:03:22 JSTfeldfeld
    in reply to
    • Alex Gleason
    • Ako Suminoe :njp:
    > If you add query parameters to determine what fields get returned, those become separate requests so they can't be cached together.

    Yes this would waste more memory on your caching layer, but it's still possible. Keep the TTLs low enough and it shouldn't matter much.

    > With REST APIs, I regularly end up making THOUSANDS of individual requests to get all the information that I need

    Well, you should be working with your backend team to design APIs that don't require that, but I understand that sometimes you're screwed because "that team" doesn't have the "resources" to work on your problem. That's why this smells like "GraphQL is here to fix the biggest problem with corporate silos"

    > while I can pack everything from GQL APIs into a SINGLE request

    Like the comments in my HN link point out, now you have a different problem: preventing DoS attacks or queries that are crazy expensive and can cause significant load/crashes of your backend. So you have to add an entire security layer on top of GraphQL to limit size of queries and size of responses because it's as evil as handing out unrestricted SQL access to your backend database(s)... we're just moving the work and responsibility around, really.
    In conversationTuesday, 11-Jul-2023 04:03:22 JST from bikeshed.partypermalink
  • Help
  • About
  • FAQ
  • TOS
  • Privacy
  • Source
  • Version
  • Contact

GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.

Creative Commons Attribution 3.0 All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.