RECENT POSTS
- Introduction to FreeBSD Security Best Practices
- Working with Package Management in FreeBSD
- Understanding FreeBSD Security Advisories and Updates
- Troubleshooting Common System Administration Issues in FreeBSD
- Tips for Hardening FreeBSD to achieve System Protection
- Setting Up DHCP Server in FreeBSD
- Secure User and Group Management in FreeBSD Systems
- Secure Remote Access with SSH in FreeBSD
- Optimizing System Performance in FreeBSD
- Network Packet Capture with tcpdump in FreeBSD
- All posts ...
Do you have GDPR compliance issues ?
Check out Legiscope a GDPR compliance software, that will save you weeks of work, automating your documentation, the training of your teams and all processes you need to keep your organisation compliant with privacy regulations
Seda
Jul 20, 2023
Architecture for Highly Concurrent Server Applications
[ excerpt from developer’s web site with modifications ]
The goal is to build a system capable of supporting massive concurrency on the order of tens of thousands of simultaneous client connections and avoid the pitfalls which arise with traditional thread and event-based approaches.
SEDA is an acronym for staged event-driven architecture, and decomposes a complex, event-driven application into a set of stages connected by queues. This design avoids the high overhead associated with thread-based concurrency models, and decouples event and thread scheduling from application logic. By performing admission control on each event queue, the service can be well-conditioned to load, preventing resources from being overcommitted when demand exceeds service capacity. SEDA employs dynamic control to automatically tune runtime parameters such as the scheduling parameters of each stage, as well as to manage load, for example, by performing adaptive load shedding. Decomposing services into a set of stages also enables modularity and code reuse, as well as the development of debugging tools for complex event-driven applications.
- Older
- Newer
Checkout these related ports:
- Zyre - Framework for proximity-based peer-to-peer applications
- Zsync - File transfer program
- Zmap - Internet scanner
- Zillion - Distributed computing project
- Zerotier - Network virtualization everywhere
- Zebra-server - Z39.50/SR server software
- Yptransitd - Replacement for nss_ldap
- Yggdrasil - Experimental end-to-end encrypted self-arranging IPv6 network
- Yconalyzer - TCP Traffic Analyzer
- Yazproxy - Powerful general purpose Z39.50/SRW/SRU proxy
- Yaz - Z39.50/SR client and API library
- Yaz++ - C++ toolkit for development of Z39.50v3 clients and servers
- Yate - Yet Another Telephony Engine
- Yaph - Yet Another Proxy Hunter (proxy scanner)
- Yami4 - Messaging library for distributed systems