Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Uruchamianie migracji z Railsami w kontenerze Docker z wieloma instancjami kontenera

Zwłaszcza z Railsami nie mam żadnego doświadczenia, ale spójrzmy z punktu widzenia dokera i inżynierii oprogramowania.

Zespół Dockera opowiada się, czasami dość agresywnie, że kontenery dotyczą aplikacji wysyłkowych. W to naprawdę świetne stwierdzenie Jerome Petazzoni mówi, że chodzi o oddzielenie obaw. Czuję, że jest to dokładnie ten punkt, który już odkryłeś.

Uruchomienie kontenera Rails, który uruchamia migrację lub konfigurację, może być dobre do początkowego wdrożenia i prawdopodobnie często wymagane podczas programowania. Jednak przechodząc do produkcji, naprawdę powinieneś rozważyć oddzielenie obaw.

Zatem powiedziałbym, że masz jeden obraz, którego używasz do uruchamiania kontenera N rails i dodajesz narzędzia/migrację/konfigurację dowolnego kontenera, którego używasz do wykonywania zadań administracyjnych. Zobacz, co programiści z oficjalnego obrazu rails powiedz o tym:

Kiedy patrzysz na ten obraz, nie ma polecenia konfiguracji ani migracji. Całkowicie zależy od użytkownika, jak z niego korzystać. Więc jeśli potrzebujesz uruchomić kilka kontenerów, po prostu śmiało.

Z mojego doświadczenia z mysql to działa dobrze. Możesz uruchomić kontener tylko do danych, aby przechowywać dane, uruchomić kontener z serwerem mysql i wreszcie uruchomić kontener do zadań administracyjnych, takich jak tworzenie kopii zapasowych i przywracanie. Dla wszystkich trzech kontenerów możesz użyć tego samego obrazu. Teraz masz swobodny dostęp do swojej bazy danych z, powiedzmy, kilku Wordpress pojemniki. Oznacza to wyraźne oddzielenie obaw. Kiedy używasz docker-compose zarządzanie wszystkimi tymi kontenerami nie jest takie trudne. Z pewnością istnieje już wiele kontenerów i narzędzi innych firm, które pomogą Ci również w skonfigurowaniu złożonej aplikacji składającej się z kilku kontenerów.

Na koniec zdecyduj, czy dok i architektura mikrousług jest odpowiedni dla twojego problemu. Jak opisano w tym artykule istnieją pewne powody przeciwko temu. Jednym z głównych problemów jest to, że dodaje zupełnie nową warstwę złożoności. Tak jest jednak w przypadku wielu rozwiązań i myślę, że jesteś tego świadomy i chcesz to wykluczyć.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jakiś sposób, aby wybrać z tabeli MySQL, w której pole kończy się określonym znakiem/liczbą?

  2. Dynamicznie filtruj DataGrid pod kątem nazwy za pomocą TextBox

  3. Konwertuj javascript na obiekt daty na format daty mysql (RRRR-MM-DD)

  4. SQL jak porównać dwie kolumny z dwóch różnych tabel

  5. Wybierz dane między 2 datami a średnią godzinową wydajnością