October 2022 Summaries
4 posts from Convoy
Filter
Month:
Year:
Post Summaries
Back to Blog
The article provides a comprehensive guide on integrating Firebase Cloud Functions with Convoy to trigger webhook events automatically when new data is added to a Firestore collection. It explains how Firebase Cloud Functions can listen to user activities across various Firebase services, and how Convoy facilitates the sending of webhook events to multiple endpoints. The tutorial walks through setting up a Firebase project, initializing Cloud Functions, and configuring a Convoy project to create applications and subscriptions for event handling. It also details writing and deploying the Cloud Function to listen for Firestore updates and send event data to Convoy, showcasing Convoy's ability to receive webhooks from various providers and distribute them to applications reliably. The article concludes by encouraging readers to test the integration setup using Firebase emulators and Convoy's dashboard, highlighting Convoy's reliability and replayability features.
Oct 19, 2022
1,718 words in the original blog post.
Building a robust webhook publishing infrastructure involves implementing mechanisms to validate message integrity and prevent replay attacks, ensuring forward compatibility, and allowing zero downtime key rotation. The article demonstrates replicating Stripe's webhook signature system using Golang, focusing on creating both simple and advanced signatures while maintaining backward compatibility. Advanced signatures mitigate replay attacks by incorporating timestamps in the signed payload, and forward compatibility is achieved by versioning signatures to accommodate evolving implementations. Zero downtime key rotation is facilitated by employing multiple secrets, enabling seamless transitions between key versions. The core implementation involves a Scheme structure encapsulating active secrets and encoding methods, with the ComputeHeaderValue function generating either simple or advanced signature strings based on the Advanced flag. The solution also promotes the separation of API keys from webhook secrets to enhance security, adhering to the principle of least privilege. This implementation is integrated into Convoy's open-source and cloud platforms, with SDKs available for Ruby, Python, and Golang to facilitate adoption.
Oct 12, 2022
1,036 words in the original blog post.
Convoy's latest release introduces first-class support for retention policies to efficiently manage and back up webhook data by automatically transferring it to cold storage like S3 after a set duration. This feature is particularly beneficial for users dealing with high volumes of payment processing webhooks, as it prevents unnecessary data storage and inflated costs while maintaining database efficiency. The implementation involves configuring how long webhook data is retained before being exported to either on-premises storage or S3-compatible services, ensuring that only necessary information for debugging, audits, or compliance is kept in the database. Convoy also simplifies the setup process with user access tokens and project configurations, while its scheduler facilitates regular data export jobs to clear stale data, highlighting the platform's focus on enhancing reliability and reducing storage overhead for webhook infrastructures.
Oct 12, 2022
1,267 words in the original blog post.
Convoy emphasizes the importance of load testing as a means to evaluate software performance, reliability, and stability under simulated workloads, particularly focusing on webhook handling. This involves using tools like K6, chosen for its simplicity, to assess critical API endpoints by simulating traffic and monitoring metrics like response times and error rates. The testing approach is goal-oriented, setting specific thresholds to ensure system performance aligns with service standards and does not regress with new code or infrastructure changes. The tests are integrated into a CI workflow using GitHub Actions, ensuring they reflect production environments for accuracy. Results are exported to InfluxDB and visualized with Grafana to facilitate ongoing performance evaluation and optimization, aiming to maintain a system capable of processing millions of concurrent requests efficiently.
Oct 05, 2022
1,391 words in the original blog post.