nói dối e blog

Tổng Quan Về Thiết Kế Skynet

Bản tóm tắt thiết kế Skynet

Sau một tháng phát triển, tôi cơ bản đã hoàn thành bản viết bằng C của Skynet. Trong quá trình này, vài module đã được tái cấu trúc nhiều lần nhưng lượng mã thực tế được tinh giản không nhiều: chỉ khoảng hơn 6.000 dòng mã C và hơn 1.000 dòng mã Lua. Dù một số phần mã được viết khá gấp gáp, nhưng tôi vẫn tin tưởng rằng chất lượng tổng thể đáp ứng được các tiêu chuẩn cá nhân. Những lỗi phát sinh là không thể tránh khỏi, tuy nhiên với quy mô dự án nhỏ như vậy, việc kiểm soát và sửa lỗi sẽ thuận lợi hơn nhiều nhờ tính minh bạch của mã nguồn.

TUYỂN DỤNG KỸ SƯ PHÁT TRIỂN NỀN TẢNG WEB

Ngày 16/10/2012: Xin thông báo, ứng viên cho vị trí kỹ sư phát triển nền tảng web mà chúng tôi tuyển dụng đã chính thức nhận việc từ hôm qua. Rất cảm ơn sự quan tâm của mọi người!

Kể từ tháng tới, chúng tôi sẽ chính thức bắt đầu dự án phát triển nền tảng web của công ty. Hiện tại, chúng tôi mong muốn tìm kiếm một kỹ sư phát triển web giàu kinh nghiệm gia nhập đội ngũ của Jianyue Technology (ejoy.com). Thời hạn tuyển dụng sẽ kéo dài đến hết tháng 10 năm 2012.

Ghi Chú Phát Triển (25): Nâng Cấp RPC

Từ khi nhen nhóm ý định tái hiện thực hóa skynet, thời gian gần đây tôi bận rộn như chó chạy ăn vụng. Mỗi ngày sau 10 giờ sáng thức giấc là lại lao vào viết code, từ đầu đến cuối không thèm nói lấy một câu thừa thãi cho đến lúc trở về nhà lúc 23 giờ đêm. Cứ thế liên tục làm không ngừng nghỉ gần một tháng trời.

Ghi Lại Một Lỗi Phát Sinh Từ Xử Lý Song Song

Hôm nay tôi phát hiện ra một lỗi nghiêm trọng trong cơ chế xử lý tin nhắn của Skynet, xuất phát từ việc xử lý đa luồng. Lại một lần nữa tôi nhận ra việc viết đúng hoàn toàn các chương trình đa luồng là điều cực kỳ khó khăn. Vì còn thiếu sót trong kinh nghiệm, tôi quyết định ghi chép lại vấn đề này để làm bài học cho tương lai.

Kiến Trúc Cụm Máy Chủ Skynet Và Giao Thức RPC

Gần đây do liên tục phải tham gia các cuộc họp, tiến độ phát triển bị gián đoạn và chậm lại đáng kể. Đến tận hôm nay tôi mới hoàn thành thiết kế và triển khai phần cụm máy chủ cũng như giao thức RPC cho hệ thống Skynet.

Về thiết kế cụm máy chủ

Mục tiêu ban đầu của chúng tôi là xây dựng hệ thống Skynet có khả năng triển khai linh hoạt trên nhiều máy vật lý. Điều này cho thấy mô hình tiến trình đơn truyền thống không còn phù hợp. Tôi quyết định giữ thiết kế nút Skynet đơn lẻ xoay quanh mô hình tiến trình đơn để tối ưu hóa hiệu suất truyền nhận dữ liệu giữa các dịch vụ nội bộ. Về phần truyền thông giữa các tiến trình (thường nằm trên các máy vật lý khác nhau), chúng tôi sẽ xử lý như một thành phần phụ trợ.

Một Số Cải Tiến Và Tiến Triển Của Skynet

Một số cải tiến đáng chú ý trong Skynet

Trong thời gian gần đây, toàn bộ tâm sức của tôi đều tập trung vào việc phát triển lại hệ thống Skynet - một dự án kế thừa thiết kế gốc bằng Erlang và hiện đang được viết lại hoàn toàn bằng C. Trong quá trình này, tôi gặp phải nhiều thách thức liên quan đến tính tương thích ngược với phiên bản cũ, đặc biệt là ở các định nghĩa giao diện. Điều này đòi hỏi phải duy trì sự tương thích để giúp các module ứng dụng phía trên có thể di chuyển dễ dàng mà không cần viết lại quá nhiều.

0%