Trước tiên cảm ơn anh vì seri bổ ích này nha, mới thực hành tới bài 7, các bài còn lại chỉ đọc thôi chứ chưa bắt tay vào làm nên nhiều chỗ còn lơ mơ , đọc 1 lượt rồi thực hành dần. Tới đây e có câu hỏi thế này mong anh giải đáp ạ.
Ở chỗ deploy em thấy có lệnh:
docker-compose down;
docker pull ${CI_REGISTRY_IMAGE}:latest;
docker-compose up -d;
Có nghĩa là tất cả Service sẽ restart đúng k ạ.
Ở trong trường hợp của em, em lưu data vào redis để làm ranking system, data lớn lắm mỗi lần khởi động lại mất 20p gì đó lận. Service của em gồm:
App (nodejs app)
Redis
Mà khi em thay đổi code thì chỉ có App là cần restart, việc khởi động lại Redis là không cần thiết. Vậy cho em hỏi có cách nào mà mình chỉ khởi động lại App không ạ? Hay nên tách Redis và App ra 2 container khác nhau? Hay còn giải pháp nào khác ạ.
Câu này đáng ra k nên hỏi ở bài này. Chuyện là em cài docker trên server window, chạy win 10 pro, xong em lưu mongodb mount = volumn gì đó do docker quản lí, xong 1 hôm máy em bị treo, khi start lại thì docker ko lên nữa, nó báo lỗi như link e để dưới, em có search thấy 2 lệnh tưởng là reset lại cài đặt của docker thôi, ai ngờ nó xoá cả volumn chứa data của mongodb đi luôn (tay nhanh hơn não là có thật ), data redis thì vẫn còn vì em ko dùng volumn của docker quản lí.
Docker thì start thành công rồi nhưng Database thì
Nay thì em quyết định chuyển database lên VPS ubuntu rồi, còn server windows e để chạy redis thôi. (Lí do là vì máy windows đặt ở nhà có khi mất điện, mất mạng, các data ở redis thì có down 1 lúc cũng được, mongodb thì luôn cần uptime)
Em cảm ơn ạ!
@huukimit với cho em hỏi cái khai báo port của traefik trong file docker-compose.yml so với entryPoints trong traefik.yml thì nó khác nhau như nào và công dụng là gì v ạ?
docker-compose.yml
version: '3.7'
volumes:
grafana-data:
prometheus-data:
ở thời điểm này giới thiệu thì nên giới thiệu luôn laravel 8 đi bạn laravel 5.8 ra đầu năm 2019, cũng tương đối cũ rồi, và mỗi lần laravel nâng cấp là kha khá thứ được thêm vào như insert data số lượng lớn, ví dụ của bạn chèn 1000 records vào table, laravel 8 có thêm đồ chơi upsert rất gì và này nọ nhé xem thêm ví dụ về đồ chơi này ở đây
Sao ở bước 3 mình viết sự kiện onClick cho nút Delete và truyền toàn bộ đối tượng Item vào làm tham số. Khi click vào nút Delete thì nó lại xuất hiện lỗi TypeError: this.props.handleShowAlert is not a function
Theo mình nhớ thì mình đâu có ghi Js cho phép thực hiện các operation song song nhỉ
Tiện thể thì Js không cho thực hiện các operation song song nhưng Web APIs(browser) thì có b nhé .
Ngoài HTML, CSS và Js ra thì không biết bạn muốn dùng ngôn ngữ nào khác nữa để sử Web APIs nhỉ
Nếu b chưa biết RxJs sử dụng web APIs thông qua Js như thế nào để thực hiện các operation một cách song song thì b có thể đọc source code của thư viện nhé
Cảm ơn bạn, mình tự mò được rồi, share lại cho mọi người tham khảo
model: user.rb
def self.find(id)
user = Rd.user_get(id)
if !user
puts "OVERRIDING no user #{id}"
user = super
Rd.user_set(id, user, {:ex => 3600})
end
return user
end
services/rd.rb
class Rd
def self.user_get(id)
begin
user = $rd.get("user_info_#{id}")
puts "user redis #{id}"
return User.new(JSON.parse(user))
rescue
return nil
end
end
def self.user_set(id, user, options={})
$rd.set("user_info_#{id}", user.to_json, options)
end
end
THẢO LUẬN
Trước tiên cảm ơn anh vì seri bổ ích này nha, mới thực hành tới bài 7, các bài còn lại chỉ đọc thôi chứ chưa bắt tay vào làm nên nhiều chỗ còn lơ mơ
, đọc 1 lượt rồi thực hành dần. Tới đây e có câu hỏi thế này mong anh giải đáp ạ.
Có nghĩa là tất cả Service sẽ restart đúng k ạ. Ở trong trường hợp của em, em lưu data vào redis để làm ranking system, data lớn lắm mỗi lần khởi động lại mất 20p gì đó lận. Service của em gồm:
Mà khi em thay đổi code thì chỉ có App là cần restart, việc khởi động lại Redis là không cần thiết. Vậy cho em hỏi có cách nào mà mình chỉ khởi động lại App không ạ? Hay nên tách Redis và App ra 2 container khác nhau? Hay còn giải pháp nào khác ạ.
Docker thì start thành công rồi nhưng Database thì
Nay thì em quyết định chuyển database lên VPS ubuntu rồi, còn server windows e để chạy redis thôi. (Lí do là vì máy windows đặt ở nhà có khi mất điện, mất mạng, các data ở redis thì có down 1 lúc cũng được, mongodb thì luôn cần uptime)
Em cảm ơn ạ!
chuẩn luôn em :v
chắc ở dự án X hay bị vả cái n+1 lắm a nhỉ, query dài thế cơ mà =))))))))
@huukimit với cho em hỏi cái khai báo port của traefik trong file docker-compose.yml so với entryPoints trong traefik.yml thì nó khác nhau như nào và công dụng là gì v ạ? docker-compose.yml version: '3.7' volumes: grafana-data: prometheus-data:
traefik.yml
Hay đấy nhỉ. tks!
Khá nhiều tip hay về partitions mà mình chưa biết. cám ơn chủ thớt.
ở thời điểm này giới thiệu thì nên giới thiệu luôn laravel 8 đi bạn
laravel 5.8 ra đầu năm 2019, cũng tương đối cũ rồi, và mỗi lần laravel nâng cấp là kha khá thứ được thêm vào 
như insert data số lượng lớn, ví dụ của bạn chèn 1000 records vào table, laravel 8 có thêm đồ chơi upsert rất gì và này nọ nhé 
xem thêm ví dụ về đồ chơi này ở đây
xin fb bạn ơi, có chơi bê đê không.
))
bài của bạn rất bổ ích , cảm ơn bạn nhiều nha
)
phần useReducer : const [state, dispatch] = useReducer(reducer, initialState) cái tham số reducer là function Reducer hả ad ? function Reducer(state, action) { const [count, setCount] = useState(0); switch (action.type) { case 'INCREMENT': return setCount( count + 1); case 'DECREMENT': return setCount( count - 1); default: throw new Error(); } }
cho mình hỏi nếu muốn kết hợp 2 kiểu chart thì phải làm sao? Cảm ơn
Sao ở bước 3 mình viết sự kiện onClick cho nút Delete và truyền toàn bộ đối tượng Item vào làm tham số. Khi click vào nút Delete thì nó lại xuất hiện lỗi TypeError: this.props.handleShowAlert is not a function
@BuiHuyHoang cảm ơn mà lại bị 2 downvote thế này (dead)
nếu thấy hữu ích thì cho mình một up vote nhé
Cảm ơn bác, rất hữu ích
)
Theo mình nhớ thì mình đâu có ghi
Js cho phép thực hiện các operation song songnhỉTiện thể thì Js không cho thực hiện các operation song song nhưng Web APIs(browser) thì có b nhé
.
Ngoài HTML, CSS và
Jsra thì không biết bạn muốn dùng ngôn ngữ nào khác nữa để sử Web APIs nhỉNếu b chưa biết RxJs sử dụng web APIs thông qua
Jsnhư thế nào để thực hiện các operation một cáchsong songthì b có thể đọc source code của thư viện nhéMãi yêu
Hay, có nhóm Ruby chat nào active ko bạn ơi, cho mình tham gia với
Cảm ơn bạn, mình tự mò được rồi, share lại cho mọi người tham khảo
model: user.rb
services/rd.rb
$rd là redis client connection chỗ application.rb
Phải upvote cho siêu nhân để kiếm thêm nhiều bài viết
