How to get started with system design. Read these articles (part 2): 10) Scaling Hashnode feed: https://lnkd.in/eaf4K_-4 9) Microservices at Netflix: https://lnkd.in/eZSM3CRB 8) Service discovery: https://lnkd.in/eCYYwQfU 7) Quotient filter: https://lnkd.in/e6nTXKDY 6) What happens when you type a URL: https://lnkd.in/eusuDn5z 5) Hinted handoff: https://lnkd.in/eM-CqK9f 4) Gossip protocol: https://lnkd.in/eBtqUVB6 3) Troubleshooting access to a website: https://lnkd.in/eER3Ci-X 2) Tips to pass system design interview: https://lnkd.in/eb-PS2nc 1) Code splitting: https://lnkd.in/edwCKJgQ What would you add to this list? Also I write a weekly newsletter to teach system design. Join 36,001+ like-minded software engineers: https://lnkd.in/ed4URjuY part 1: https://lnkd.in/euS_bPK9 --- If you liked this post. 🔔 Source: @Neo K. ♻ Repost to help others find it. 💾 Save this post for future reference. #coding #programming #softwaredevelopment #systemdesign
SmartIPlace’s Post
More Relevant Posts
-
Software Engineer @ Uber, Marketplace Investments - Mobility Trip Pricing | Exploring Golang & Apache Spark
🚀 𝗦𝗰𝗮𝗹𝗶𝗻𝗴 𝗥𝗲𝗮𝗹-𝗧𝗶𝗺𝗲 𝗠𝗲𝘀𝘀𝗮𝗴𝗶𝗻𝗴 𝗮𝘁 𝗦𝗹𝗮𝗰𝗸 ✨ I spent a couple of hours reading the Engineering blog post on Slack's real-time messaging architecture: https://lnkd.in/e4EKEkRw. Here is a summary and key takeaways: 🔹 𝙅𝙖𝙫𝙖, 𝙃𝙖𝙘𝙠𝙡𝙖𝙣𝙜 & 𝙅𝙖𝙫𝙖𝙎𝙘𝙧𝙞𝙥𝙩: The core services of Slack's real-time messaging architecture, such as Channel Servers, Gateway Servers, Admin Servers, and Presence Servers, are written in Java. A powerful combination where Hacklang powers the Webapp backend handles user authentication (user token fetching) and websocket connection setup information, and JavaScript enhances the front end, ensuring a smooth and interactive user experience. 🔹 𝘾𝙝𝙖𝙣𝙣𝙚𝙡 𝙎𝙚𝙧𝙫𝙚𝙧𝙨 (𝘾𝙎): These in-memory powerhouses manage channel histories and are mapped via consistent hashing, serving up to 16 million channels each. Their resilience? A CS can be replaced in under 20 seconds, keeping latency to a bare minimum. 🔹 𝙂𝙖𝙩𝙚𝙬𝙖𝙮 𝙎𝙚𝙧𝙫𝙚𝙧𝙨 (𝙂𝙎): The GSs are the diligent gatekeepers, holding user info and websocket subscriptions. Spread across regions, they ensure swift connections and seamless failovers, thanks to a robust draining mechanism. 🔹 𝘼𝙙𝙢𝙞𝙣 𝙎𝙚𝙧𝙫𝙚𝙧𝙨 (𝘼𝙎) & 𝙋𝙧𝙚𝙨𝙚𝙣𝙘𝙚 𝙎𝙚𝙧𝙫𝙚𝙧𝙨 (𝙋𝙎): ASs act as the stateless and in-memory servers managing the communication between the Webapp backend and the CSs. The AS is involved in processing and routing messages to the appropriate CS, while PSs track who's online, lighting up those green dots we all look for. 🔹 𝙀𝙣𝙫𝙤𝙮: This open-source proxy is the unsung hero, balancing loads and terminating TLS, ensuring secure and efficient client-server handshakes. 🔹 𝙋𝙪𝙗/𝙎𝙪𝙗 𝘼𝙧𝙘𝙝𝙞𝙩𝙚𝙘𝙩𝙪𝙧𝙚: At the heart of it all, a publish-subscribe model ensures messages and events are delivered in real-time, keeping everyone on the same page. But what about those transient events, like the "𝘶𝘴𝘦𝘳 𝘪𝘴 𝘵𝘺𝘱𝘪𝘯𝘨" on the chat? They follow a reverse flow, not persisted in the database, showcasing Slack's flexibility in handling various types of real-time data. 🔍 𝙎𝙘𝙖𝙡𝙖𝙗𝙞𝙡𝙞𝙩𝙮 𝙄𝙣𝙨𝙞𝙜𝙝𝙩: Each component, from Envoy to the edge regions, is a cog in the wheel of scalability. The pub/sub model, combined with consistent hashing, allows Slack to scale linearly, ready to serve an ever-growing customer base. The use of different servers in the Slack real-time messaging architecture is essential for handling various tasks and ensuring efficient, scalable, and reliable communication. Follow Ganesh Sadanala for more on System Design and cloud Computing. Thank you! 𝙎𝙝𝙖𝙧𝙚 𝙮𝙤𝙪𝙧 𝙩𝙝𝙤𝙪𝙜𝙝𝙩𝙨 𝙤𝙣 𝙩𝙝𝙚 𝙘𝙤𝙢𝙥𝙡𝙚𝙭𝙞𝙩𝙞𝙚𝙨 𝙤𝙛 𝙢𝙖𝙞𝙣𝙩𝙖𝙞𝙣𝙞𝙣𝙜 𝙨𝙪𝙘𝙝 𝙖 𝙧𝙤𝙗𝙪𝙨𝙩 𝙧𝙚𝙖𝙡-𝙩𝙞𝙢𝙚 𝙘𝙤𝙢𝙢𝙪𝙣𝙞𝙘𝙖𝙩𝙞𝙤𝙣 𝙨𝙮𝙨𝙩𝙚𝙢. #SlackEngineering #SystemDesign #Scalability #RealTimeMessaging #CloudComputing #TechInnovation image source: https://lnkd.in/e4EKEkRw
To view or add a comment, sign in
-
Innovative Transformational Leader | Multi-Industry Experience | AI & SaaS Expert | Generative AI | DevOps, AIOps, SRE & Cloud Technologies | Experienced Writer | Essayist | Digital Content Creator | Author
Awesome List Updated on Aug 26 - Sep 01, 2024 by via Track Awesome List Weekly Updates ([Global] Virtual Desktop Infrastructure) URL: https://ift.tt/AjcPaIS 1. Awesome Opentofu Learning / Helpers Migrating From Terraform To OpenTofu - Introduction to OpenTofu history and how to migrate. Podcasts / Helpers Kubernetes Podcast - OpenTofu, with Ohad Maislish 2. Awesome Workflow Automation Tools Pipedream - Review: Integrates APIs and data for powerful automation. Tray.io - Review: Provides a visual platform for connecting and automating business processes. Workato - Review: Focuses on enterprise automation with AI and machine learning capabilities. Automate.io - Review: Enables app integrations and automations for businesses. Tallyfy - Review: Streamlines and automates business processes with an easy-to-use interface. Parabola - Review: Allows non-coders to automate complex workflows and tasks. Books Hyperautomation: A Business Guide to Navigating the Future with Robotic Process Automation. The Art of Automation: A Guide to Using Automation to Enhance Business Performance. 3. Awesome Iam Authorization / Policy models Service-to-service authorization: A guide to non-user principals - Discover how assigning identities to services (non-user principals) can simplify authentication, enhance security, and streamline authorization in complex distributed systems. A useful guide for IAM teams managing microservices and APIs. Authorization / ReBAC frameworks Permify (⭐3.5k) - Another open-source authorization as a service inspired by Google Zanzibar, and see how it compares to other Zanzibar-inspired tools. Authorization / AWS policy tools An AWS IAM Security Tooling Reference - A comprehensive list of (maintained) tools for AWS IAM. Authorization / Other tools Gubernator (⭐84) - High performance rate-limiting micro-service and library. OAuth2 & OpenID / Other tools How to Implement a Secure Central Authentication Service in Six Steps - Got multiple legacy systems to merge with their own login methods and accounts? Here is how to merge all that mess by the way of OIDC. Authgear (⭐78) - Open-source authentication-as-a-service solution. It includes the code for the server, AuthUI, the Portal, and Admin API. Trust & Safety / User Identity Facebook Dangerous Individuals and Organizations List - Some groups and content are illegal in some juridictions. This is an example of a blocklist. 4. Awesome Vue Components & Libraries / Frameworks adminforth - Vue + Node + Tailwind admin framework. Live Demo 5. Awesome Dotnet Core Frameworks, Libraries and Tools / Queue and Messaging NServiceBus (⭐2.1k) - NServiceBus is part of the Particular Service Platform, which contains tools to build, monitor, and debug distributed systems. 6. Awesome Audit Algorithms Papers / 2023 Privacy Auditing with One (1) Training Run - (NeurIPS - best paper) A scheme for auditing differentially private machine learning systems wit...
Awesome List Updated on Aug 26 - Sep 01, 2024 by via Track Awesome List Weekly Updates ([Global] Virtual Desktop Infrastructure) URL: https://ift.tt/AjcPaIS 1. Awesome Opentofu Learning / Helpers Migrating From Terraform To OpenTofu - Introduction to OpenTofu history and how to migrate. Podcasts / Helpers Kubernetes Podcast - OpenTofu, with Ohad Maislish 2. Awesome Workflow Automatio...
trackawesomelist.com
To view or add a comment, sign in
-
SDE @Onehash | Ex-SDE Intern @Southguild Tech | @FirstCotton | @Temples of India | @JugaadHai |Freelance Developer | NextJs | Nodejs | Python | Flutter | AWS | GCP | Azure | CSE'24
🚀 Day 21 System Design & DSA Journey Update 🌐💻 Today's exploration delved into various communication patterns, each offering unique capabilities and advantages in building robust systems. Here's a detailed breakdown of the communication patterns learned: 1️⃣ REST (Representational State Transfer): - Description: REST is an architectural style for designing networked applications. It relies on stateless communication between clients and servers, using standard HTTP methods like GET, POST, PUT, DELETE for data manipulation. - Advantages: Simplicity, scalability, and compatibility with existing web standards. - Documentation Link: https://restfulapi.net/ 2️⃣ GraphQL: - Description: GraphQL is a query language for APIs and a runtime for executing those queries. It allows clients to request only the data they need, facilitating efficient data fetching. - Advantages: Increased flexibility, reduced over-fetching and under-fetching, and improved performance for client-server communication. - Documentation Link: https://graphql.org/learn/ 3️⃣ gRPC (gRPC Remote Procedure Call): - Description: gRPC is a high-performance RPC framework developed by Google. It uses Protocol Buffers (protobuf) as the Interface Definition Language (IDL) for describing both the service interface and the structure of the payload messages. - Advantages: Strongly-typed contracts, efficient binary serialization, and support for bidirectional streaming. - Documentation Link: https://grpc.io/docs/ 4️⃣ tRPC (Typed RPC): - Description: tRPC is a TypeScript-first RPC framework that emphasizes type safety and developer productivity. It simplifies API development by automatically generating TypeScript types for endpoints and payloads. - Advantages: Type safety, ease of use, and seamless integration with TypeScript projects. - Documentation Link: https://trpc.io/docs By exploring these communication patterns, I gained insights into how different systems communicate and interact, each with its own set of strengths and best use cases. Excited to continue this journey of learning and exploration! 🚀📚 #systemdesign #sde #restapi #graphql #grpc #fullstackdeveloper #learninginprogress #codingcommunity
What is REST?: REST API Tutorial
restfulapi.net
To view or add a comment, sign in
-
I've had the pleasure of documenting REST and GraphQL APIs. Here are my tips to help you plan your approach if you're new to one or both of these solutions. #technicalwriting #tech #business #worktips #workhacks #restapi #graphql
Documenting REST Vs. GraphQL APIs
ryanmpierson.com
To view or add a comment, sign in
-
Day 65 #100DaysofCoding DSA problem practice: ❎ DSA concept revision:❎ Core Backend concept: How to maintain authorization and user information in different microservices✅ Backend Project: ❎ Book Reading: ❎ Meditation: ❎ GYM: 1 hr✅ reference: https://lnkd.in/gtBZjUtb. #100DaysofCodechallenge #100DaysofCode #javascript #backend #Backend #css #html #frontend #devcommunity #SystemDesign #SoftwareEngineer
Managing User Authentication and Authorization in Microservices Architectures
medium.com
To view or add a comment, sign in
-
🚀 Discover Free Developer Tools & Services for Infrastructure Developers! 🛠️ Are you a software developer or creator of Open Source projects? Navigating the vast landscape of complimentary services can be time-consuming. That's why I'm excited to share this curated compilation tailored for infrastructure developers like System Administrators and DevOps Practitioners. ℹ️ This list features a wide range of software, including SaaS, PaaS, IaaS, and related offerings, prioritizing those most relevant to the specified audience. Contributions from over 1100 individuals have made this a collaborative effort, ensuring it stays comprehensive and up-to-date. ✨ Key Highlights: 🛠️ Complimentary services specifically for infrastructure developers 🌐 Comprehensive list curated for well-informed choices 🤝 Over 1100 contributors shaping the content 🔍 Featured Criteria: ✅ Free tier availability (not just trials) ⏳ Minimum one-year free duration 🔒 Single Sign-On (SSO) for security standards 🔐 TLS encryption not restricted to paid tiers 🤝 Get Involved: This list thrives on community contributions! Feel free to submit pull requests to add new services or suggest updates to ensure it reflects the evolving landscape of free developer tools. Let's empower developers with accessible and secure resources! 💻🌐 Copyright © Free-for.dev #DevOps #Infrastructure #FreeTools #OpenSource
Zero-cost Innovation
blog.sewakgautam.com.np
To view or add a comment, sign in
-
𝐇𝐚𝐧𝐝𝐥𝐢𝐧𝐠 𝐪𝐮𝐞𝐬𝐭𝐢𝐨𝐧𝐬 𝐚𝐧𝐝 𝐚𝐧𝐬𝐰𝐞𝐫𝐬 during a presentation as a 𝐃𝐞𝐯𝐞𝐥𝐨𝐩𝐞𝐫 𝐑𝐞𝐥𝐚𝐭𝐢𝐨𝐧𝐬 (𝐃𝐞𝐯𝐑𝐞𝐥) 𝐩𝐫𝐨𝐟𝐞𝐬𝐬𝐢𝐨𝐧𝐚𝐥 is a critical skill that can significantly impact your credibility and the audience's experience. Imagine you’re presenting at a tech conference, delivering a talk titled 𝐁𝐮𝐢𝐥𝐝𝐢𝐧𝐠 𝐒𝐜𝐚𝐥𝐚𝐛𝐥𝐞 𝐀𝐏𝐈𝐬 𝐰𝐢𝐭𝐡 𝐆𝐫𝐚𝐩𝐡𝐐𝐋. You’re standing before a room full of developers, eager to learn about the nuances of building scalable APIs with GraphQL. As you begin your presentation, you set the stage for a smooth 𝐐&𝐀 𝐬𝐞𝐬𝐬𝐢𝐨𝐧 with friendliness and warm composure Set expectations for getting questioned. Right after introducing yourself and the topic, you say, “I 𝐤𝐧𝐨𝐰 𝐭𝐡𝐢𝐬 𝐭𝐨𝐩𝐢𝐜 𝐦𝐢𝐠𝐡𝐭 𝐬𝐩𝐚𝐫𝐤 𝐚 𝐥𝐨𝐭 𝐨𝐟 𝐪𝐮𝐞𝐬𝐭𝐢𝐨𝐧𝐬, 𝐞𝐬𝐩𝐞𝐜𝐢𝐚𝐥𝐥𝐲 𝐚𝐬 𝐰𝐞 𝐠𝐞𝐭 𝐢𝐧𝐭𝐨 𝐭𝐡𝐞 𝐭𝐞𝐜𝐡𝐧𝐢𝐜𝐚𝐥 𝐝𝐞𝐭𝐚𝐢𝐥𝐬. 𝐏𝐥𝐞𝐚𝐬𝐞 𝐟𝐞𝐞𝐥 𝐟𝐫𝐞𝐞 𝐭𝐨 𝐣𝐨𝐭 𝐝𝐨𝐰𝐧 𝐚𝐧𝐲 𝐪𝐮𝐞𝐬𝐭𝐢𝐨𝐧𝐬 𝐚𝐬 𝐰𝐞 𝐠𝐨, 𝐚𝐧𝐝 𝐈’𝐥𝐥 𝐥𝐞𝐚𝐯𝐞 𝐭𝐡𝐞 𝐥𝐚𝐬𝐭 15 𝐦𝐢𝐧𝐮𝐭𝐞𝐬 𝐨𝐟 𝐭𝐡𝐢𝐬 𝐬𝐞𝐬𝐬𝐢𝐨𝐧 𝐟𝐨𝐫 𝐚 𝐐&𝐀, 𝐬𝐨 𝐰𝐞 𝐜𝐚𝐧 𝐝𝐢𝐠 𝐝𝐞𝐞𝐩𝐞𝐫 𝐢𝐧𝐭𝐨 𝐚𝐧𝐲𝐭𝐡𝐢𝐧𝐠 𝐲𝐨𝐮’𝐫𝐞 𝐜𝐮𝐫𝐢𝐨𝐮𝐬 𝐚𝐛𝐨𝐮𝐭.” 1. 𝐁𝐞 𝐂𝐥𝐞𝐚𝐫 𝐚𝐧𝐝 𝐂𝐨𝐧𝐜𝐢𝐬𝐞 During the Q&A, someone asked, “Can you explain how caching works with GraphQL in a production environment?” You respond with, “Great question! Caching in GraphQL requires a different approach than REST.” 2. 𝐁𝐞 𝐇𝐨𝐧𝐞𝐬𝐭 Another attendee asked about a very specific edge case they encountered using GraphQL with a certain database. You’re not entirely sure about the answer. You say, 𝐓𝐡𝐚𝐭’𝐬 𝐚𝐧 𝐢𝐧𝐭𝐞𝐫𝐞𝐬𝐭𝐢𝐧𝐠 𝐜𝐚𝐬𝐞, 𝐛𝐮𝐭 𝐈 𝐡𝐚𝐯𝐞𝐧’𝐭 𝐩𝐞𝐫𝐬𝐨𝐧𝐚𝐥𝐥𝐲 𝐞𝐧𝐜𝐨𝐮𝐧𝐭𝐞𝐫𝐞𝐝 𝐭𝐡𝐚𝐭 𝐢𝐬𝐬𝐮𝐞. 3. 𝐄𝐧𝐠𝐚𝐠𝐞 𝐭𝐡𝐞 𝐀𝐮𝐝𝐢𝐞𝐧𝐜𝐞 During the session, another participant asks a question about integrating GraphQL with an existing REST API. You notice a developer in the front row nodding in agreement. You turn to them and say, “It looks like you have some experience with this. Would you like to share how you approached this integration in your projects?” 4. 𝐌𝐚𝐧𝐚𝐠𝐞 𝐓𝐢𝐦𝐞 With only a few minutes left, several hands are still raised. You address the group, “We have time for two more questions that are directly related to GraphQL scaling strategies. For those with other questions, I’ll be available after the session, or you can message me on LinkedIn or Twitter.” By combining all these strategies you’ve not only delivered your content effectively but also created a positive, engaging experience for the audience. 𝐏𝐨𝐬𝐭 33/177 I missed yesterday's post due light issue in my environment. Hold me accountable ... Thanks to everyone waiting for my daily post here. #devrel #developeradvocate #community #techcommunity #contentcreation #resourcesharing #techie #product #build #communication #project.
To view or add a comment, sign in
-
Exciting System Design Journey with PW (PhysicsWallah)! I recently completed an enriching system design course with the amazing tutor, Vishwa Mohan sir. Here's a glimpse of what I covered during each day: As a Backend Developer deeply involved in DevOps and CI/ CD pipelines, this course is a game-changer for my professional growth. The insights gained are directly applicable to my everyday work, ensuring I'm equipped to overcome challenges and contribute effectively to CO2OPT technological advancement. **Day 1: Stages in System Design** Explored the foundational stages of system design, understanding the crucial steps from requirements gathering to implementation. A solid start to set the stage for the subsequent days! **Day 2: Distributed Systems** Dived into the fascinating world of distributed systems, unraveling the complexities and nuances of designing systems that operate across multiple machines. An eye-opener into the challenges and benefits of distributed architectures. **Day 3: Architectures & Different Types of Databases ** Explored various system architectures and delved into databases - from traditional RDBMS to the dynamic world of NoSQL. Discussed key-value pairs, columnar databases, and the ever-popular Redis. A comprehensive overview to make informed design decisions. **Day 4: Database Optimization Techniques *** Focused on optimizing database performance, covering techniques to enhance speed, efficiency, and overall system responsiveness. An essential skill set for any system designer aiming for peak performance. Day 5: Types of Communication** Explored communication protocols and their role in system design. Discussed messaging patterns, synchronization mechanisms, and the art of effective communication between system components. **Day 6: Types of Systems - Stateful and Stateless** Differentiated between stateful and stateless systems, understanding their implications on system design. Explored communication protocols suitable for each type, paving the way for robust and scalable solutions. **Day 9: Project 1 - Web Crawler** Applied the acquired knowledge to a hands-on project - building a web crawler. Practical experience to solidify theoretical concepts and enhance problem-solving skills. **Day 10: Project 2 - Messenger like WhatsApp** Culminated the course with an exciting project - designing a messenger application akin to WhatsApp. Integrated various elements learned throughout the course into a real-world scenario, putting theory into practice. Attached is my certificate, a testament to the incredible learning journey! Grateful for the opportunity to enhance my system design skills. Excited to apply these learning in future projects! #System Design #Learning Journey #backenddeveloper #Continuous Learning #architecturedesign #pw
To view or add a comment, sign in
-
Recently I was reading about some best practices to design REST API. when I was building REST API for my project i was thinking like; Since each area in software engineering follows some best practices certainly there must be some best practices for designing REST API . So I searched in google about best practices for designing a REST API. And found some good article . I am reading those gradually and collecting them . Below, I’m sharing some of the best practices I've found so far. 🔸We should versioning our API 🔸Our API should have enabled CORS so that client hosted in other server can make request to our API successfully. 🔸 We should use specific method for specific task; such as 🔸 GET for fetching data 🔸 POST for adding data 🔸PUT for updating data (as a whole object) 🔸 PATCH for updating data (only some part of a object) 🔸DELETE for deleting data 🔸 Our API's endpoint should be like as a group of resources e.g. we will use /api/users not /api/user 🔸 We should use query string for relationship filtering in routing our API e.g. /posts/x/attachments is better than /attachments?postId=x 🔸 We should use longer path for creating/fetching resource and shorter path for updating/deleting e.g. for fetching GET /posts/:id/comments and for updating PATCH /comments/:id That's all for now. I’ll share a link to the article/blog once I will think that I’ve gathered almost every best practices. Your feedback is welcomed. Feel free to find out mistake. reference :
GitHub - peterboyer/restful-api-design-tips: A working compilation of RESTful design principles.
github.com
To view or add a comment, sign in
-
Helping FinServ With XA Transactions For Cloud & Microservices | Founder of Financial Services Technical Leaders Forum
LinkedIn recently announced that it would be moving to gRPC with Protocol Buffers for the inter-service communication in its microservices platform. Previously they used an open-source framework with JSON as a primary serialization format. Here is why they made this decision - answers were given in an interview with Karthik Ramgopal and Min Chen Superior Capabilities: gRPC offers advanced features like bidirectional streaming, flow control, and deadlines, which Rest.li does not support. This enhances the capabilities and flexibility of LinkedIn's microservices architecture. Efficiency: gRPC is highly efficient, with performance features such as fully async non-blocking bindings and advanced threading models. Benchmarks and production ramps of gRPC and Rest.li services running side by side have validated its efficiency. Multi-Language Support: gRPC supports multiple programming languages, which aligns with LinkedIn's infra-support requirements. Rest.li, on the other hand, primarily supports Java, with limited support for other languages. Community and Industry Adoption: gRPC benefits from a large and vibrant open-source community and widespread usage across the industry. While Rest.li is open source, it is primarily contributed to and used by LinkedIn. Additionally, the adoption of Protocol Buffers as a serialization format in the Rest.li framework provided significant latency and throughput improvements at scale. LinkedIn evaluated various serialization formats but ultimately chose Protocol Buffers due to its runtime performance, developer experience, and multi-language support. LinkedIn advises current Rest.li users to consider migrating to gRPC and offers assistance for speeding up the migration process through automation. The main goal of the gRPC+Protobuf adoption project aligns with the reasons for choosing gRPC and Protocol Buffers over REST and JSON. LinkedIn is also working on other initiatives, including migrating stateful storage and streaming systems to Protobuf from Avro, moving common infrastructure functionality to sidecars with a gRPC over UDS API, and revamping service discovery and load balancing with the xDS protocol. Here is the full interview: https://wllw.co/XcaXvGZXb #linkedin #microservices #microservice #gRPC #DatabaseEngineering #ProtocolBuffer #atomikos
Why LinkedIn chose gRPC+Protobuf over REST+JSON: Q&A with Karthik Ramgopal and Min Chen
infoq.com
To view or add a comment, sign in
55,498 followers