current location:Home > Technical Articles > Backend Development
- Direction:
- All web3.0 Backend Development Web Front-end Database Operation and Maintenance Development Tools PHP Framework Daily Programming WeChat Applet Common Problem Other Tech CMS Tutorial Java System Tutorial Computer Tutorials Hardware Tutorial Mobile Tutorial Software Tutorial Mobile Game Tutorial
- Classify:
-
- Application examples of Redis in message queue
- In distributed systems, message queues (MessageQueues) are a common mechanism used to coordinate communication between various components. Message queues can decouple the interdependencies between components in a distributed system through asynchronous message delivery. Redis is a popular open source caching system that can also be used as a message queue. In this article, we will introduce the application examples of Redis in message queue. 1. Basic introduction to Redis as a message queue. Redis supports publish/subscribe (P
- Redis . rabbitmq 1346 2023-05-10 21:40:44
-
- Golang implements rabbitmq monitoring
- We know that message queue is a commonly used architectural pattern to solve problems such as asynchronous processing and task distribution, and RabbitMQ is currently one of the most widely used message middleware. In practical applications, we may need to use Golang to implement RabbitMQ monitoring. This article will introduce how to use Golang to implement RabbitMQ monitoring. Preparations Before starting, you need to ensure that RabbitMQ has been installed. Since RabbitMQ depends on Erlang, Erlang also needs to be installed. Install
- Golang . rabbitmq 597 2023-05-10 10:53:06
-
- How to use Java to automatically cancel unpaid orders?
- Scheduled polling database scheduled polling method, the implementation idea is relatively simple. Start a scheduled task, scan the order table at a certain time, and cancel the timeout order after querying it. Advantages: Simple to implement. Disadvantages: The polling interval is difficult to determine, occupies server resources, and affects database performance. Lazy cancellation When querying order information, first determine whether the order has timed out, and if it times out, cancel it first. Advantages: Simple to implement. Disadvantages: It affects businesses other than query (such as statistics, inventory) and query efficiency. JDK Delay Queue JDK Delay Queue DelayQueue is an unbounded blocking queue, which can only obtain elements from it when the delay expires. The simple implementation code demo is as follows. In the actual production process, there will be a dedicated thread responsible for messages.
- javaTutorial . rabbitmq 1168 2023-05-10 10:07:07
-
- How to use multiprocessing to implement inter-process communication in Python?
- 1. Why should we master inter-process communication? Python's multi-threaded code efficiency is restricted by GIL and cannot be accelerated by multi-core CPUs. However, the multi-process method can bypass the GIL and take advantage of multi-CPU acceleration, which can significantly improve the performance of the program but the process Inter-communication is an issue that has to be considered. A process is different from a thread. A process has its own independent memory space and cannot use global variables to transfer data between processes. In actual project requirements, there are often intensive calculations or real-time tasks. Sometimes a large amount of data needs to be transferred between processes, such as pictures, large objects, etc. If the data is transferred through file serialization or network interface, it is difficult to meet the real-time requirements. , using redis, or kaffka, rabbitMQ No. 3
- Python Tutorial . rabbitmq 2129 2023-05-08 21:31:06
-
- How to ensure cache consistency in Java
- Option 1: Update the cache and update the database. This method can be easily eliminated, because if the cache is updated successfully first, but the database update fails, it will definitely cause data inconsistency. Solution 2: Update the database and update the cache. This cache update strategy is commonly known as double-write. The problem is: in the scenario of concurrently updating the database, dirty data will be flushed to the cache updateDB(); updateRedis(); For example: if between the two operations The database and cache are modified by subsequent requests. At this time, if you update the cache, it will already be expired data. Solution 3: Delete the cache and update the database. There is a problem: before updating the database, if there is a query request, the dirty data will be flushed to the cache deleteRedis();updateDB(); for example
- javaTutorial . rabbitmq 1130 2023-05-02 13:13:16
-
- RabbitMQ advanced application methods in java
- 1. Reliable message delivery When using RabbitMQ, if the producer wants to know whether the message is successfully delivered to the corresponding switch and queue when delivering the message, there are two ways to control the reliability mode of message delivery. . Judging from the entire message delivery process in the figure above, the producer's message entering the middleware will first reach the switch, and then be passed from the switch to the queue, which is a two-step strategy. Then message loss will occur in these two stages. RabbitMQ thoughtfully provides us with a reliable new delivery mode for these two parts: confirm mode. return mode. &
- javaTutorial . rabbitmq 755 2023-04-30 10:40:06
-
- Java RabbitMQ advanced feature example analysis
- Reliable delivery of messages When using RabbitMQ, the message sender hopes to prevent any message loss or delivery failure scenarios. RabbitMQ provides us with two ways to control the delivery reliability mode of messages. confirm confirmation mode return return mode rabbitmq's entire message delivery path is: producer—>rabbitmqbroker—>exchange—>queue—>consumer. The message from producer to exchange will return a
- javaTutorial . rabbitmq 853 2023-04-29 20:25:05
-
- What are the concepts and usage of Java generics?
- Concept 1. Generics means that types can be passed as parameters, which are essentially type parameters. For example, when we define a method, we often specify that a specific class of objects be passed as parameters. 2. If generics are used, a specific transfer object can be specified as a specific type without specifying a specific type. That is, we pass a certain type as a parameter. Differences from Object If you use Object, you must force the input type to be converted to the required type. If the input type does not match, it will cause a package ClassCastException exception. For example, in the following code, testObj() inputs a value of type int, and the program will error when executed: Example publicvoidtes
- javaTutorial . rabbitmq 1602 2023-04-27 15:16:07
-
- What is the database and cache data consistency scheme for Java concurrent programming?
- 1. Preface In a distributed concurrent system, the consistency of database and cache data is a challenging technical difficulty. Assuming there is a complete industrial-grade distributed transaction solution, then the consistency of database and cache data will be easily solved. In fact, distributed transactions are currently immature. 2. Different voices There are various voices in the database and cache data consistency solution. Operate the database first and then cache, or cache first and then cache the database. Should the cache be updated or deleted? 1. The order of operations. In a concurrent system, in the double-write scenario of the database and cache, in order to pursue greater concurrency, the operation of the database and cache will obviously not be synchronized. conduct. The former operation is successful and the latter is performed in an asynchronous manner. As a mature industrial-grade data storage solution, relational database has perfect
- javaTutorial . rabbitmq 871 2023-04-24 08:28:06
-
- How to use LocalDateTime in Java?
- Note 1. LocalDateTime is a date-time target. You can also think of it as a combination of LocalDate and LocalTime. In operation, it is roughly the same. 2. If time zone information is added, LocalDateTime can also be converted into an Instance instance. Instance can be converted to an older version of java.util.Date object. InstanceInstantinstant=sylvester.atZone(ZoneId.systemDefault()).toInstant();DatelegacyDate=Date.from(instant);S
- javaTutorial . rabbitmq 1534 2023-04-23 09:58:06
-
- Analysis of common problems and solutions of Java RabbitMQ message queue
- Message accumulation: The message accumulation occurs when the producer produces messages faster than the consumer consumes them. Solution: Increase the number or speed of consumers. When there are no consumers to consume. Solution: Dead letter queue, set message validity period. It is equivalent to setting a validity period for our messages. If there is no consumption within the specified time, it will automatically expire. When it expires, the client callback monitoring method will be executed to store the message in the database table record, and compensation will be realized later. To ensure that messages are not lost 1. The producer uses the message confirmation mechanism to ensure that the message can be delivered to MQ successfully. 2. The MQ server should persist the message to the hard disk. 3. The consumer uses the manual ack mechanism to confirm that the message consumption is successful. What if the MQ server capacity is full?
- javaTutorial . rabbitmq 2206 2023-04-23 09:49:06
-
- Why switch from .net to golang
- As technology continues to develop, we will experience many technological changes. Among them, .net and golang are common programming languages in our development field. For developers, they often face a question: How to switch from one programming language to another? In response to this problem, this article will explore some important non-technical factors and technical factors in converting from .net to golang. Non-technical factors: 1. Understand the reasons behind the switch. Before choosing to switch from .net to golang, you should find out the reasons behind it. Is it for
- Golang . rabbitmq 521 2023-04-18 09:26:20
-
- What is the most commonly used technology stack for Java?
- Commonly used technology stacks in Java include: 1. JDK; 2. Web framework; 3. Web container; 4. ORM framework; 5. Spring; 6. Database; 7. Search engine; 8. Back-end template engine; 9. Workflow ; 10. Other language middleware, such as Kafka, RocketMQ or RabbitMQ, etc. Inventory of commonly used technology stacks for Java development 1. Introduction Recently, many people have privately asked me about the commonly used Java development technology stacks, so today I will summarize a wave of commonly used Java technology stacks. 2. Most of the JDK versions of JDK have been moved to 8. Those who use 11 are ahead of the curve. Please look for the LTS version! No
- javaTutorial . rabbitmq 5412 2023-04-14 21:43:04
-
- Let's talk about how to use RabbitMq in golang
- 1. What is RabbitMq RabbitMq is a reliable, fast, open source message queuing system that follows the AMQP (Advanced Message Queuing Protocol) standard and is widely used in various message delivery situations in distributed application scenarios. 2. Why use RabbitMq? In some business scenarios, message processing, transmission and storage are very important. When the scale of application systems gradually reaches millions, how to effectively process these messages is a top priority. RabbitMq can support asynchronous delivery and persistence of messages through message queue mode.
- Golang . rabbitmq 1155 2023-04-14 13:49:12
-
- Talk about different queue types in laravel
- Laravel is a very popular PHP open source framework. It contains many practical functions, of which the queue (Queue) system is an important component. Queue can help developers separate time-consuming operations and execute them asynchronously in the background to improve system concurrency and throughput. In Laravel's queue system, different queue types can provide different performance and functional features. This article will introduce these different queue types. 1. Simple queue Simple queue is the most basic queue type in Laravel
- Laravel . rabbitmq 716 2023-04-13 18:45:41