In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-02-24 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Development >
Share
Shulou(Shulou.com)06/03 Report--
This article mainly introduces the Java micro-service framework and tools, have a certain reference value, interested friends can refer to, I hope you can learn a lot after reading this article, the following let the editor take you to understand it.
Netflix Open Source Software (OSS)
The Netflix Open Source Software Center is the most popular and widely used open source software for microservices open source projects based on Java. The most successful video rental service in the world depends on it. Netflix already has more than 40 million users who use its services around the world. Netflix is a pure cloud-based solution developed on the basis of a micro-service architecture. It can be said that whenever someone talks about microservices, Netflix is the first name that comes to mind. Let's discuss the various tools it provides. We have discussed many of these tools when developing the sample OTRS application. However, there are several tools that we have not yet explored. Here, we will only give an overview of each tool, not explain it in detail. This will bring you the practical features of the microservice architecture and the general idea of its use in Yunping Taichung.
Build-- Nebula
Netflix Nebula is a collection of Gradle plug-ins that make it easier for you to use Gradle (a Maven-like build tool) to generate micro-services. For our example project, since we have used Maven, we have not had the opportunity to explore Nebula in detail in this book. However, it will be interesting to study it. For developers, the most important Nebula feature is to eliminate much of the boilerplate code in the Gradle generation file, which allows developers to focus on coding.
Having a good build environment, especially CI/CD (continuous integration and continuous deployment), is essential for micro-service development and alignment with agile development. Netflix Nebula makes your build process easier and more efficient.
Deployment and delivery-Spinnaker and Aminator
Once your generated software is ready, you will want to move the software to Amazon Web Services,AWS EC2. Aminator uses Amazon machine images (Amazon Machine Image, AMI) to create the generated software and package it into an image file. Spinnaker then deploys these AMI to AWS.
Spinnaker is a continuous delivery platform that publishes code changes quickly and efficiently. Spinnaker also supports other cloud services, such as Google Computer Engine and Cloud Foundry.
You want to deploy the latest micro-service software in a cloud environment like EC2, and Spinnaker and Aminator can help you do this automatically.
Service Registration and Discovery-Eureka
As we have discussed in this book, Eureka provides services responsible for the registration and discovery of microservices. Most importantly, Eureka is also used for load balancing in the middle tier (processes that host different microservices). Netflix also uses Eureka and other tools such as Cassandra or memcached to improve its overall usability.
Service registration and discovery are essential to the microservice architecture. That's what Eureka is for. See Chapter 4 of "Eureka Micro Services" for more information about Java.
Service Communication-Ribbon
If there is no inter-process or inter-service communication, the micro-service architecture is useless. Ribbon applications provide this feature. Ribbon combined with Eureka to achieve load balancing, combined with Hystrix to achieve fault tolerance or circuit breaker operation.
In addition to HTTP, Ribbon also supports TCP and UDP protocols. It provides support for both asynchronous and reactive models for these protocols, as well as caching and batch processing.
Because there will be a lot of microservices in your project, you need a way to process information using inter-process or inter-service communication. Netflix provides Ribbon tools for this purpose.
Circuit Breaker-Hystrix
The Hystrix tool is used to perform circuit breaker operations, that is, to tolerate delay and fault tolerance. As a result, Hystrix stops cascading failures. Hystrix performs real-time service monitoring and property change operations and supports concurrency.
Circuit breaker or fault tolerance is an important concept for any project, including micro-services. A failure of a microservice should not stop your entire system; Netflix Hystrix's job is to prevent this and provide meaningful information to users in the event of a failure.
Edge (proxy) server-Zuul
Zuul is an edge server or proxy server that is used to serve requests made by the API of external applications such as UI clients, Android/iOS applications, or third-party consumers of any product or service. Conceptually, it is a door to external applications.
Zuul allows dynamic routing and monitoring of requests. It also performs security operations, such as authentication. You can determine the authentication requirements for each resource and reject any requests that do not meet these requirements.
You need to provide edge servers or API gateways for microservices. Netflix Zuul provides this feature, see Chapter 5 of Java Micro Services for more information.
Business monitoring-Atlas
Atlas is a business monitoring tool that provides information about near real-time high-dimensional time series data. It captures business intelligence and provides an overview of what is happening within the system. It provides in-memory data storage, which enables it to collect and report a large number of metrics very quickly. Currently, it handles 1.3 billion metrics for Netflix.
Atlas is an extensible tool. This is why it has been able to handle 1.3 billion indicators since it dealt with 1 million indicators a few years ago. The Atlas system not only provides extensibility in reading data, but also integrates it into graphics requests as part of it.
Atlas uses the Netflix Spectato library to record high-dimensional time series data.
Once you deploy microservices in the cloud, you need a monitoring system to track and monitor all microservices. Netflix Atlas does this job for you.
Reliability Monitoring Service-Simian Army
In a cloud environment, there is no single component that can guarantee 100% uptime. As a result, a successful microservices architecture requires that the entire system be available in the event of a single cloud component failure. Netflix has developed a tool called Simian Army (ape army) to avoid system failures. Simian Army ensures the security, reliability, and high availability of cloud environments. To achieve high availability and security, it uses a variety of services (monkeys) to generate various failures in the cloud, detect anomalies, and test the cloud's viability in these challenges. It uses the following services (monkeys) taken from the Netflix blog:
Chaos Monkey (Chaos Monkey)
Chaos Monkey is a service that determines a system group and randomly terminates a system in a group. This service operates at controlled times and intervals. Chaos Monkey, which runs only during business hours, hopes that engineers will be alerted and able to respond.
Guard Monkey (Janitor Monkey)
Caretaker Monkey is a service running in the AWS cloud that looks for unused resources that can be cleaned up and can be extended to other cloud providers and cloud resources. The schedule for the service is configurable. The caretaker monkey applies a set of rules to a resource to determine whether it should be a candidate to be cleaned up. If any rule determines that a resource is a candidate to be cleaned, the caretaker monkey marks the resource and arranges time to clean it up. In special cases, when you want to keep unused resources for longer, the owner of the resource will be notified a few days before the cleanup time before the caretaker monkey deletes the resource, and the number of days is configurable.
Match Monkey (Conformity Monkey)
Compliance Monkey is a service running in the AWS cloud that looks for instances of predefined rules that do not conform to best practices. It can be extended to other cloud providers and cloud resources. The schedule for this service is configurable. If it is determined that the instance does not comply with any of the rules, the monkey sends an email notification to the owner of the instance. There may be exceptions where warnings about compliance with specific rules may be ignored for some applications.
Safe Monkey (Security Monkey)
Security Monkey monitors policy changes and reminds you of a configuration that does not have sense of security on an AWS account. The main purpose of a safe monkey is to ensure security, but it is also a useful tool for tracking potential problems because it is essentially a change tracking system.
A successful microservice architecture ensures that your system is always running and that the failure of a single cloud component does not stop the entire system. Simian Army uses many services to achieve high availability.
AWS Resource Monitoring-- Edda
In a cloud environment, nothing is static. For example, virtual host instances change frequently, and in general, IP addresses can be reused by various applications, as well as firewalls or related changes.
Edda is a service that tracks these dynamic AWS resources. Netflix named it Edda (Nordic mythology), which documents the story of cloud management and deployment. Edda uses AWS API to poll AWS resources and record the results. These records allow you to search and see how the cloud has changed over time. For example, if the host of any API server is causing any problems, you need to find out what the host is and which team is responsible for it.
It provides these features:
Dynamic query: Edda provides REST API, and it supports matrix parameters and provides a field selector that allows you to retrieve only the data you need.
Historical change: Edda maintains all
The history of the AWS resource. This information can help you analyze the cause and impact of resource disruption. Edda can also provide different views of current and historical information about resources. At the time of this writing, it stores information in MongoDB.
Configuration: Edda supports multiple configuration options. In general, information can be polled from multiple accounts and multiple regions, and the combination of accounts and the areas to which these accounts point can be used. Again, it provides different configurations of AWS, Crawler, Elector, and MongoDB.
If AWS is used to host micro-service-based products, Edda can be used to monitor AWS resources.
Host performance Monitoring-Vector
Vector is a static web application that runs within a web browser. It can be used to monitor the performance of hosts with Performance Co-Pilot (PCP) installed. Vector supports PCP 3.10 and above. PCP collects various metrics and provides them to Vector.
It provides correct indicators of high resolution as needed. This can help engineers understand the behavior of the system and solve performance problems correctly.
Performance monitoring tools that can help you monitor remote hosts.
Distributed configuration Management-- Archaius
Archaius is a distributed configuration management tool that allows you to do the following:
Use dynamic and typed properties.
Perform thread-safe configuration operations.
Use the polling framework to check for property changes.
The callback mechanism is used in an orderly hierarchical configuration.
Use JConsole to check the properties and perform actions on them, because Archaius provides JMX MBean.
When you have a product based on micro services, you need a good configuration management tool. Archaius can help configure different types of properties in a distributed environment.
Apache Mesos Scheduler-Fenzo
Fenzo is a scheduler library written in Java for the Apache Mesos framework. The Apache Mesos framework looks for matching resources and allocates them to pending tasks. Its main features are as follows:
Support long-running service-style tasks and batches.
Host clusters can be automatically scaled based on resource requirements.
Plug-ins are supported and can be created based on requirements.
You can monitor the failure of resource allocation, allowing you to debug the source of the failure.
Cost and cloud utilization-Ice
Ice provides a panoramic view of cloud resources in terms of cost and usage. It provides up-to-date information on the deployment of cloud resources to different teams, adding value to the optimal use of cloud computing resources.
Ice is a holy grail project. The user interacts with the Ice UI component, which displays the information sent through the Ice reader component. The reader extracts information from the data generated by the Ice processor component. The Ice processor component reads the data information from the detailed cloud billing file and converts it into data readable by the Ice reader component.
Other security tools-Scumblr and FIDO
In addition to Security Monkey,Netflix open source software, Scumblr and fully integrated defensive operations (Fully Integrated Defense Operation,FIDO) tools are also used.
In order to track your microservices and protect them from frequent threats and attacks, you need to protect and monitor your microservices in an automated way. Netflix Scumblr and FIDO do this job for you.
Scumblr
Scumblr is a Ruby on Rails-based web application that allows you to perform periodic searches and store / take actions on identified results. Basically, it uses Internet-wide targeted searches to gather intelligence to expose specific security issues for investigation.
Scumblr leverages valuable information that can be flowed to allow flexible workflows for different types of results. Scumblr uses a plug-in called Search Providers (search provider) to search, which checks for exceptions similar to the following. Because it is extensible, you can add as many checks as you need:
Compromised credentials
Hacker loopholes / discussion
Attack discussion
Security-related discussions on social media
Fully integrated defense operations (FIDO)
FIDO is a secure business process framework for analyzing events and automating event responses. It automates the event response process by evaluating, evaluating, and responding to malware. The main purpose of FIDO is to deal with the significant manual work required to assess threats from today's security stacks and the large number of alerts they generate.
As a business process platform, FIDO can use existing security tools more efficiently and accurately by significantly reducing the manual work required to detect, notify, and respond to network attacks.
Thank you for reading this article carefully. I hope the article "what are the Java micro-service frameworks and tools shared by the editor will be helpful to you?" at the same time, I also hope that you will support and pay attention to the industry information channel. More related knowledge is waiting for you to learn!
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.