WAMP stands for Web Application Messaging Protocol. This is an open protocol that implements two patterns within a single protocol: RPC and Publish / Subscribe. As it seems to me, this is a great platform for the Internet of Things, Smart City and in general business applications with a lot of different components and services.
64. Basic WAMP concepts
• Client. Can provide or consume resources, such as subscriptions and RPC.
• Router. Deals with authorization and message routing between clients.
• Peer. Can be a client or a router, must have at least one role.
• Role. Determines the capabilities of the node. There are 4 client roles and 2 router roles.
• Session. It is necessary to identify and authorize clients, announce the role of nodes.
• Realm. Domain, namespace, within which messages are routed.
• Transport. You can use: WebSockets, Raw TCP, Unix sockets and even HTTP Long poll.
• Serializer. Messages are serialized using JSON / MessagePack / CBOR / etc.
• Resource identifiers, URIs. Required for topics, procedures and errors.
19
162. Wiola: Runtime storage options
38
• Global variables in memory
• are created every time on request handler
• problems with concurrent requests
• Module variables loaded in init_by_lua
• You can read in all workers
• But the write, thanks to CoW, will create a copy of the module for the VM
• ngx.shared.DICT
• The size of each dictionary is specified in the config file and can not be changed
External storage: Redis, Memcache, PostgreSQL, MySQL and others