Summary describes five services of ice.
Ice provides a well-developed customer-service platform for distributed development. In fact, real applications not only need to have remote communication capabilities, but also need to start services as needed, distribute agents to clients, distribute asynchronous events, configure applications, and release patches.
Ice comes with some services that have the features and other features described above. These services are implemented as servers and provide services to your applications. They are:
1. icepack
Icepack is the positioning service of ice. When indirect binding is used, the symbolic adapter name is converted to a protocol-address pair. In addition to locating services, icepack also provides the following services:
- Icepack allows you to register a service that is automatically started: when the client initiates a request, the server does not need to be in the running state. As long as the first client initiates a request, the service starts automatically.
- Icepack supports script description deployment and can be easily configured to include complex applications of several services.
- Icepack provides a simple object search service that allows the client to obtain the object proxy they are interested in.
2. icebox
Icebox is a simple application server that can coordinate multiple application components to start and stop.
Application components can be published in the form of a dynamic link library instead of a process. This reduces the system load. For example, you can run several application components in a JVM instead of multiple processes. Each process has its own JVM.
3. icestorm
Icestorm is a publish-subscribe service that removes the coupling between the client and the server. Essentially, icestorm runs as an event distribution switch. The publisher sends the event to the service, and icestorm delivers the event to the subscriber in sequence. With this method, an event publisher can publish an event to multiple subscribers. Events are classified by topic. subscriber can specify topics they are interested in. Only topics of interest to the subscriber are sent to the subscriber. The service allows you to specify the quality of the service, so that the application can make an appropriate compromise between scalability and performance.
If you need to publish information to a large number of applications, icestorm is a good choice. (A typical example is the stock quote application ). Icestorm removes the coupling between the information publisher and subscriber, and can also re-publish published information. In addition, icestorm can run as a joint service, that is, multiple service instances can run on different machines, thus reducing the CPU load.
4. icepatch
Icepatch is a software patch service. It allows you to easily publish software updates to customers. The customer connects to icepatch and requests to update a specific application. The service automatically checks the customer's software version and downloads the components to be updated. These downloaded components are all placed in a compressed package, thus reducing bandwidth usage. Software patches can also be released with the glacier service, so that only authorized customers can download software updates.
5. Glacier
Glacier is an ice Firewall service that allows customers and servers to communicate securely through the firewall. Client-server communication is completely encrypted by using public key authentication, and communication is bidirectional. Glacier provides mutual authentication and secure session management support.