THẢO LUẬN

thg 7 19, 2023 9:22 SA

cái đó khả năng lỗi của Gitlab nhé bạn, bạn thử lại sau 1 thời gian (vài tiếng hoặc 1 ngày) là đc thôi, mình vừa thử chạy lại file yaml như của bạn thì oke

0

khá dễ hiểu

0
thg 7 19, 2023 9:03 SA

Hi @Sudhakar , sorry I missed your comment.

It's hard when reading your code, when it's not formatted correctly, it should be in Markdown, better if you can give exact code.

I'm not clear when you mentioned about 3 branches, but from your code I see only development. ButI think the simplest and clear way is to have a tag for each of a branch. Something like this

image: docker:19

services:
  - docker:dind

stages:
  - build

before_script:
  - docker version
  - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY

build:
  stage: build
  only:
    refs:
      - develop
      - staging
      - prod
  script:
    # $CI_COMMIT_REF_NAME is branch name
    - docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME .
    - docker push $CI_REGISTRY_IMAGE:CI_COMMIT_REF_NAME

0
thg 7 19, 2023 8:20 SA

Bài viết rất hay và bổ ích. Cám ơn đã bổ sung kiến thức mình còn thiếu.

0
thg 7 19, 2023 7:11 SA

bài viết hay và sâu sắc, bình dân dễ hiểu.

0

@NamNhiNhanh Em đọc bài viết của bác chưa đề cập tới vấn đề thứ tự. Ví dụ, 2 lệnh SL cùng score 24, value sẽ được sắp xếp theo string. Trong bài viết bác chưa đề cập tới ID lệnh đảm bảo thứ tự về mặt thời gian hay random?

Redis backup bất đồng bộ --> có thể bị mất dữ liệu. Với một hệ thống tài chính, bác ko nên trade off giữa tốc độ với tính đúng đắn.

0

Em đã làm được và thành công. Cảm ơn chủ shop *chụt

0
thg 7 19, 2023 2:26 SA

Đúng như bác nói để đánh giá hiệu quả của cả hệ thống thì cần dựa vào test (integration test, smoke test, performance test) sau khi implement

Nhưng bài viết tập trung vào bước phân tích thiết kế dựa vào yêu cầu (trước khi implement)

0
thg 7 18, 2023 2:22 CH

nếu bạn dùng docker thì ko có gì lưu ý lắm ngoài các nội dung mình đã nói đâu, viết Dockerfile hoàn chỉnh là xong đến 90% rồi.

còn nếu bạn build thường (native), thì cần đảm bảo bạn setup được môi trường CICD sao cho giống với môi trường mà bạn sẽ deploy app Laravel của bạn, vì theo những gì mình trải nghiệm thì app PHP nói chung cần khá nhiều thứ dây dưa (php rồi các thư viện liên quan php-fpm, php-mbstring,....) rồi phiên bản của PHP nữa. Bạn để ý làm sao setup cho các môi trường giống nhau xuyên suốt là được

0
thg 7 18, 2023 2:20 CH

command curl -fksv -X POST $SERVER_HOST/$API_DEPLOYMENT_ID kia khả năng là gọi 1 API vào server, trong đó có chạy 1 con backend nào đó để thực hiện re-deploy e ạ.

Nhưng a thấy cách này nom có vẻ...ko hay 😄, kiểu dùng 1 app để redeploy app khác 😄, trong khi từ CICD nó cũng làm đc tương tự, chắc công ty e có nhiều thứ logics thêm nên cần phải làm vậy. Với dữ kiện hiện tại thì a thấy nó hơi thừa 😃

0

Okey bạn. Cảm ơn bạn đã nhận xét và góp ý. Khi mình dày dặn kinh nghiệm, đúc kết được nhiều kiến thức nâng cao hơn thì mình sẽ chia sẻ những kiến thức nâng cao hơn

+1

Chào b. Mình thấy b có khá nhiều bài đc editor choice. Các bài viết của bạn thường sơ sài vs ít cô đọng. Hi vọng các bài viết sắp tới sẽ chỉn chu hơn nhé.

Cảm ơn b đã chia sẻ kiến thức đến cho cộng đồng

+2
thg 7 18, 2023 9:45 SA

Cám ơn anh về bài viết hữu ích!

0
thg 7 18, 2023 8:49 SA

@systemdesign.vn

Thế cho mình hỏi là khi bạn thiết kế hệ thống bạn căn cứ vào đâu để biết hệ thống đấy của bạn là hiệu quả?

+1
thg 7 18, 2023 8:39 SA

Kk màu mè là mình thích lắm 😎

0

Có vẻ bác chưa đọc kĩ bài mình viết.

  • 3 câu hỏi đầu tiên bác có thể đọc kĩ bài viết
  • Còn câu hỏi cuối cùng của bác là redis chết thì mình trả lời như sau: Redis chết thì cái gi là quan trọng nhất, nó là data vậy mình sẽ backup nó như sau:
  • Redis default rdb để backup và nó backup theo checkpoint thì có thể bị loss data ( chỗ này mình trade off để đạt được tốc độ)

Ngoài ra bạn dựng HA cho cụm redis. Mà mình cũng ns luôn để b biết là nó khó chết lắm kakakaka

0
Avatar
đã bình luận cho bài viết
thg 7 18, 2023 8:23 SA

Hi ạ, có bác nào tìm được chỗ truyền vnp_IpnURL qua cho VnPay chưa ạ, em đang gặp vấn đề tương tự 😊

0

Hãy mô tả vấn đề bạn gặp phải và cộng đồng mạng có thể sẽ hỗ trợ bạn.

0

@mitapari tôi đồng ý là ngôn ngữ và trình dịch tách biệt nhưng không phải là không liên quan, bản thân khi phát triển một ngôn ngữ thì nhà phát triển đã tạo ra trình dịch phù hợp cho nó, giống như hệ điều hành và máy tính, bạn không thể đem win x86 chạy trên cpu Snapdragon và bảo Snapdragon là cpu x86 được. Bản thân python hay java đều được tối ưu cho từng kiểu biên dịch hoặc thông dịch, kể cả bạn có dùng trình thông dịch cho java thì bản chất nó vẫn biên dịch từng dòng code ra hoặc dùng biên dịch cho python thì nó vẫn là thông dịch từng dòng code. Tóm lại là khi nói tới 1 ngôn ngữ ta sẽ gộp chung cả trình dịch của nó mặc dù chúng là 2 phần riêng biệt nhưng nó là 2 phần thiết kế ra để cho nhau, không ai nói java là ngôn ngữ thông dịch và ngược lại python là biên dịch. Ok man

0

VẪN KO SỬA ĐC Ạ, CẦN HỖ TRỢ

0
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí