Welcome Salesforce Headless 360: No Browser Required! Our API is the UI. Entire Salesforce & Agentforce & Slack platforms are now exposed as APIs, MCP, & CLI. All AI agents can access data, workflows, and tasks directly in Slack, Voice, or anywhere else with Salesforce Headless 360. Faster builds, agentic everything. 🚀
#Salesforce #Agentforce #AI
https://t.co/mxySdJS7HR
Increíble! 😳 Fabricó una maquina para detectar Reggaeton en el parlante del vecino.
Comprarian este producto? Da para industrializarlo? 🤣 Aplausos para el ingenio y la creatividad de su creador 👏🏻
Cómo en todo proyecto, la importancia del análisis y planificación para lograr resultados espectaculares.
https://t.co/0G9K4tiP1t . Que gran trabajo que hicieron
Explaining 9 types of API testing. Next week's topic will be listed at the end.
🔹 Smoke Testing
This is done after API development is complete. Simply validate if the APIs are working and nothing breaks.
🔹 Functional Testing
This creates a test plan based on the functional requirements and compares the results with the expected results.
🔹 Integration Testing
This test combines several API calls to perform end-to-end tests. The intra-service communications and data transmissions are tested.
🔹 Regression Testing
This test ensures that bug fixes or new features shouldn’t break the existing behaviors of APIs.
🔹 Load Testing
This tests applications’ performance by simulating different loads. Then we can calculate the capacity of the application.
🔹 Stress Testing
We deliberately create high loads to the APIs and test if the APIs are able to function normally.
🔹 Security Testing
This tests the APIs against all possible external threats.
🔹 UI Testing
This tests the UI interactions with the APIs to make sure the data can be displayed properly.
🔹 Fuzz Testing
This injects invalid or unexpected input data into the API and tries to crash the API. In this way, it identifies the API vulnerabilities.
Next week, we will talk about:
- Our recommended materials for cracking your next technical interview (YouTube)
- How mobile releases work
- 12 Tips for API security
- What can go wrong with Caching
- Log parsing tips
Subscribe to our weekly newsletter so you won't miss it: https://t.co/uc5M7CdXXC
After reading a dozen articles, I still had questions.
That's why I created this manual.
Event Bus vs Message Queue vs Message Broker.
Event Bus
Designed for publishing events to many subscribers, Publish-Subscribe (Pub-Sub), One-to-many.
The publishers and subscribers don't need to know about each other. High level of decoupling!
Generally, the systems consume messages as they arrive instead of storing them.
Does not guarantee delivery.
When to use it:
- Real-time notifications across many subscribers
- Situations where many services need to react to specific events
Examples:
Inventory System: Notify other services when a product is out of stock.
Monitoring Systems: Alert other departments when the system exceeds a certain threshold.
Message Queue
Designed to hold messages until a consumer service can process them.
Use Point-to-Point or Producer-Consumer communication model. One-to-One.
The sender delivers the message and waits for an acknowledgment.
When to use it:
- Decoupling producer and consumer services
- Asynchronous processing of tasks
Examples:
Order Processing: Queue orders for one-by-one processing.
Data Ingestion: Collect data at high velocity and process it when possible.
Message Broker
A robust system that includes the features of both Event Bus and Message Queue. Pub-Sub and Point-to-Point.
Can be one-to-one, one-to-many, or many-to-many.
When to use it:
- Complex data routing scenarios.
- Many communication patterns within a single application.
- Transformation and aggregation of messages.
Examples:
Multi-service Orchestration: Coordinate tasks among various microservices using complex routing rules.
Have you used any of them? Share your war stories.
6 API Architectural designs You Must Know
1. REST 🌐
Representational State Transfer - REST is like a classic library where you request specific books and receive them as they are. It's simple and widely used for web APIs, like ordering a la carte from a menu 🍽️.
2. GraphQL 🚀
GraphQL is like a customizable buffet 🍴 where you ask for exactly what you want and get a tailored plate. It allows clients to request only the data they need, reducing over-fetching.
3. SOAP 🧼
SOAP (Simple Object Access Protocol) is like sending a letter 💌 with detailed instructions, complete with a table of contents. It's more structured but can be heavier than REST or GraphQL.
4. gRPC 🚄:
gRPC is like a high-speed train 🚄 for communication between services. It uses Protocol Buffers for efficient data exchange and supports streaming and bidirectional communication.
5. WebSockets 🌐💬
WebSockets are like real-time phone calls ☎️ for the web. They enable two-way communication, perfect for chat apps and live updates.
6. MQTT 📡
MQTT (Message Queuing Telemetry Transport) is like a radio broadcast 📻, designed for low-bandwidth, high-latency, or unreliable networks. Ideal for IoT devices and sensor data.
▷ 👍🏿 Subscribe to our newsletter - https://t.co/hxARDoA98l
#systemdesign #coding #interviewtips
Latency and throughput walk into a design discussion meeting...
One's all about speed and the other worries about the volume.
Both claim that they are the most important thing since the invention of computers.
How to deal with both?
Latency and Throughput are common discussion points that pop up whenever designing a system.
They are crucial performance metrics for your application and getting them right is important for user experience.
But what’s the difference between them?
✅ Latency measures the time it takes for a request to travel from source to destination and receive a response.
If you are in a coffee shop, latency would be the time it takes for your barista to hand you the cappuccino after you place the order.
Basically, latency deals with how quickly you get a reaction to an action.
Low latency is essential for real-time apps like video conferencing, gaming & stock markets where every millisecond counts.
✅ Throughput measures the rate at which data can be processed within a given timeframe.
In the same coffee shop, throughput would be the number of orders the barista can handle in an hour.
Basically, throughput is all about handling multiple tasks simultaneously.
Data streaming is one area where throughput is very important.
👉 But how do you balance latency and throughput while building an application?
Here are some techniques that you can leverage:
- Caching and data proximity reduce latency for frequently accessed data.
- Parallel processing improves the throughput.
- Load Balancing and CDNs can improve both latency and throughput
Having said that, setting a balance between latency and throughput is a dynamic process that evolves over time.
===
That’s all for now!
If you enjoyed this post, don’t forget to:
- Destroy the LIKE button
- REPOST so that everyone can learn how to balance latency and throughput
- BOOKMARK for future reference
- Follow me for more posts like this.
Reverse Proxy vs. API Gateway vs. Load alancer
Modern websites and applications have complex needs. Here we'll look at three powerful tools.
🔹Reverse Proxy: change identity
- Fetching data secretly, keeping servers hidden.
- Perfect for shielding sensitive websites from cyber-attacks and prying eyes.
🔹API Gateway: postman
- Delivers requests to the right services.
- Ideal for bustling applications with numerous intercommunicating services.
🔹Load Balancer: traffic cop
- Directs traffic evenly across servers, preventing bottlenecks
- Essential for popular websites with heavy traffic and high demand.
In a nutshell, choose a Reverse Proxy for stealth, an API Gateway for organized communications, and a Load Balancer for traffic control. Sometimes, it's wise to have all three.
–
Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://t.co/6j06DUIbVn
IBM MQ -> RabbitMQ -> Kafka ->Pulsar, How do message queue architectures evolve?
🔹 IBM MQ
IBM MQ was launched in 1993. It was originally called MQSeries and was renamed WebSphere MQ in 2002. It was renamed to IBM MQ in 2014. IBM MQ is a very successful product widely used in the financial sector. Its revenue still reached 1 billion dollars in 2020.
🔹 RabbitMQ
RabbitMQ architecture differs from IBM MQ and is more similar to Kafka concepts. The producer publishes a message to an exchange with a specified exchange type. It can be direct, topic, or fanout. The exchange then routes the message into the queues based on different message attributes and the exchange type. The consumers pick up the message accordingly.
🔹 Kafka
In early 2011, LinkedIn open sourced Kafka, which is a distributed event streaming platform. It was named after Franz Kafka. As the name suggested, Kafka is optimized for writing. It offers a high-throughput, low-latency platform for handling real-time data feeds. It provides a unified event log to enable event streaming and is widely used in internet companies.
Kafka defines producer, broker, topic, partition, and consumer. Its simplicity and fault tolerance allow it to replace previous products like AMQP-based message queues.
🔹 Pulsar
Pulsar, developed originally by Yahoo, is an all-in-one messaging and streaming platform. Compared with Kafka, Pulsar incorporates many useful features from other products and supports a wide range of capabilities. Also, Pulsar architecture is more cloud-native, providing better support for cluster scaling and partition migration, etc.
There are two layers in Pulsar architecture: the serving layer and the persistent layer. Pulsar natively supports tiered storage, where we can leverage cheaper object storage like AWS S3 to persist messages for a longer term.
Over to you: which message queues have you used?
–
Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://t.co/uc5M7CdXXC
Myth: Using UUID as the primary key will slow down inserts.
Fact: Not in Postgres.
I often recommend using UUIDs instead of integer sequences as primary keys. I was surprised to discover that many developers are uncomfortable with them and believe they will slow down inserts.
I was about to record a video explaining why UUIDs are awesome and showing that they do not slow down Postgres. But @hnasr saved me the trouble:
https://t.co/Nqgtfdv64l
Cuando el astronauta Jim Voss fue a la estación MIR se fijó en que los cosmonautas rusos subían al espacio con algo...peculiar.
—¿Por qué lleváis una escopeta?
—Por los osos.
—¿CÓMO?
—Sí, por los osos.
Esta es la historia de la TP-82 y os la cuento en #LaBrasaTorrijos
🧵⤵️