Tất cả
Việc làm
Công ty

Tạo thông báo việc làm ngay

1 việc làmNodeJS - Cấp bậc: Fresher

  • MiTC Việt Nam

    Lập trình viên Full-Stack

    Fresher, Junior, Middle, Senior, All Levels

    Quận Thanh Xuân, Hà Nội

    (In Office)

      • Mức lương: 10,000,000 - 30,000,000 VND/tháng
      • Lương tháng 13, thưởng theo hiệu quả công việc
      • Cơ hội xét tăng lương/thăng chức 2 lần/năm
      • Môi trường thân thiện, cởi mở và năng động, tạo điền kiện để những người trẻ, đủ tố chất có cơ hội phát triển sự nghiệp bền vững
      • Du lịch hàng năm trong và ngoài nước, tổ chức các sự kiện thường niên cho nhân viên (quốc tế thiếu nhi 1/6, trung thu, giáng sinh, …)
      • Bảo hiểm: Được tham gia bảo hiểm sau 2 tháng thử việc: Bảo hiểm y tế, Bảo hiểm xã hội, Bảo hiểm thất nghiệp
      • Hưởng đầy đủ các ngày phép năm/thâm niên theo quy định
      • Trang thiêt bị làm việc đầy đủ, hiện đại
      • Thời gian làm việc: Từ thứ 2 đến thứ 6 (Sáng 8h30-12h00, Chiều 13h30- 17h30) và ngày thứ 7 đầu tiên của tháng.

    Đăng 4 ngày trước

Thông tin công ty

Bài viết liên quan

Xem tất cả
Triển khai Saga Pattern trong microservices với NodeJS và Choreography-Based Saga

Triển khai Saga Pattern trong microservices với NodeJS và Choreography-Based Saga

Bài viết được sự cho phép của tác giả Duy Phan Mình sẽ sử dụng lại ví dụ Booking Service Online trong phần trước đó Ở đây mình sẽ tạo ra các isolated service, đồng thời thiết kế để chúng giao tiếp với nhau thông qua một Message Queue. Ở đây mình chọn RabbitMQ làm Message Queue. 1. Triển khai BookingService // booking-service.ts import express from 'express' import amqp from 'amqplib' const app = express() const PORT = 3001 app.use(express.json()) let channel: amqp.Channel const paymentQueue = 'payment_queue' app.post('/booking', async (req, res) => { const { userId, eventId, numberOfSeats } = req.body // Pre-step 1: Validate booking request // Pre-step 2: Save booking request to application database const booking = { userId, eventId, numberOfSeats, bookingReservedSuccessfully: true, } /** * Step 1: Send Booking Request to PaymentService */ if (booking.bookingReservedSuccessfully) { await sendMessageToQueue(paymentQueue, { booking }) } res.json({ message: 'Booking request sent successfully' }) }) async function connectQueue(queue: string) { const connection = await amqp.connect('amqp://localhost') channel = await connection.createChannel() await channel.assertQueue(queue) } async function sendMessageToQueue(queue: string, message: unknown) { await channel.sendToQueue(queue, Buffer.from(JSON.stringify(message))) } app.listen(PORT, async () => { console.log(`BookingService is running on http://localhost:${PORT}`) await connectQueue(paymentQueue) }) BookingService xử lý các yêu cầu HTTP POST để tạo booking mới. BookingService cố gắng đặt trước một chỗ và nếu thành công, nó sẽ gửi mộ [...]

Đọc thêm