Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 15665|Odpowiedź: 3

Narzędzia popularyzacji nauki dla architektur na dużą skalę

[Skopiuj link]
Opublikowano 14.05.2018 13:32:51 | | | |

I.1 Java Spring Boot

Nadaje się do budowy systemów mikroserwisowych

  • Korzystanie ze strony Spring Project Bootstrap pozwala zbudować projekt w kilka sekund
  • Jest wygodne eksportować różne formy usług, takich jak REST API, WebSocket, Web, Streaming oraz Tasks
  • Bardzo zwięzła integracja polityki bezpieczeństwa
  • Obsługiwane są bazy danych relacyjne i nierelacyjne
  • Wspieranie wbudowanych kontenerów podczas działania, takich jak Tomcat i Jetty
  • Potężny pakiet programistyczny z obsługą hot bootu
  • Automatyczne zarządzanie zależnościami
  • Wbudowane monitorowanie aplikacji
  • Obsługuje różne IED, takie jak IntelliJ IDEA, NetBeans

Inne języki: .net core, Go itd


I.2 Jenkins

Zautomatyzowane procedury CI dla ciągłej integracji

  • Open source i wolne
  • Wieloplatformowe, wspiera wszystkie platformy (zainstalowałem na Ubuntu 14.04, ale obraz Jenkins Docker nie powiódł się)
  • master/slave obsługuje rozproszone kompilacje
  • Wizualna strona zarządzania w formie strony internetowej
  • Montaż i konfiguracja są bardzo proste
  • wskazówki Szybka i terminowa pomoc
  • Setki wtyczek, które już istnieją



I.3 GitLab

  • Repozytorium projektów Git hostowane samodzielnie, do którego można uzyskać dostęp przez interfejs webowy dla instalacji projektów publicznych lub prywatnych.
  • Ma podobną funkcjonalność do GitHuba, umożliwiając nawigację po kodzie źródłowym, zarządzanie błędami i komentarzami. Możliwe jest zarządzanie dostępem zespołu do repozytorium, bardzo łatwo jest przeglądać przesłane wersje i udostępnia bibliotekę historii plików.
  • Członkowie zespołu mogą komunikować się za pomocą wbudowanego prostego programu czatu (Wall). Oferuje także funkcję zbierania fragmentów kodu, która umożliwia łatwe ponowne użycie kodu i łatwe znalezienie później, gdy zajdzie taka potrzeba.
  • Dokcer
  • Docker to silnik open-source, który ułatwia stworzenie lekkiego, przenośnego i samowystarczalnego kontenera do dowolnej aplikacji. Kontenery, które deweloperzy kompilują i testują na notebookach, mogą być wdrażane w partiach w środowiskach produkcyjnych, w tym w maszynach wirtualnych, klastrzach bare metal, klastrzach OpenStack i innych platformach aplikacyjnych.
  • Docker jest powszechnie używany w następujących scenariuszach:
  • automatyczne pakowanie i publikowanie aplikacji internetowych;
  • automatyczne testowanie i ciągła integracja, wydawanie;
  • Wdrażanie i dostosowywanie baz danych lub innych aplikacji tła w środowisku zorientowanym na usługi;
  • Zbuduj własne środowisko PaaS, kompilując lub rozszerzając istniejącą platformę OpenShift lub Cloud Foundry od podstaw.



I.4 Kubernetes

  • Kubernetes to system zarządzania klastrami kontenerowymi oraz platforma open-source, która może realizować funkcje takie jak automatyczne wdrażanie, automatyczne skalowanie oraz utrzymanie klastrów kontenerowych.
  • Dzięki Kubernetes możesz:
  • Szybkie wdrażanie aplikacji
  • Szybko skaluj swoje aplikacje
  • Bezproblemowa integracja z nowymi funkcjami aplikacyjnymi
  • Oszczędzaj zasoby i optymalizuj wykorzystanie zasobów sprzętowych



I.5 MQ

Gdy czynniki takie jak szybkość czy stabilność "produkcji" i "konsumpcji" są niespójne w systemie, kolejki wiadomości są potrzebne jako warstwa abstrakcji, aby zniwelować różnice między obiema stronami. Wiadomość to jednostka danych przesyłana między dwoma komputerami. Wiadomości mogą być bardzo proste, na przykład zawierać tylko ciągi tekstowe; Może być też bardziej złożona i zawierać osadzone obiekty. Wiadomości są wysyłane do kolejek, czyli kontenerów przechowujących wiadomości podczas transmisji.

  • Rozłączeni
  • Redundancja
  • Skalowalność
  • Elastyczność i szczytowa przepustowość
  • Możliwość odzyskania
  • Gwarancja dostawy
  • Gwarantowane sortowanie
  • Buforowanie
  • Zrozumienie przepływów danych
  • Komunikacja asynchroniczna


I.6 SQL DB

  • Baza danych to magazyn zbudowany na komputerowych urządzeniach magazynowych, który organizuje, przechowuje i zarządza danymi zgodnie ze strukturą danych.
  • Mówiąc prosto, można go traktować jako elektroniczną szafkę na dokumenty – miejsce, gdzie przechowywane są pliki elektroniczne, a użytkownicy mogą dodawać, przechwytywać, aktualizować, usuwać i inne operacje nad danymi zawartymi w pliku.
  • W codziennej pracy zarządzania gospodarką często konieczne jest umieszczenie odpowiednich danych w takim "magazynie" i przetwarzanie ich zgodnie z potrzebami zarządu.


MySQL/PostgreSQL jest reprezentatywnym dla tradycyjnych relacyjnych baz danych.

HBase jest reprezentantem technologii Big Tables (indeksowanie wierszy, przechowywanie kolumn).

Neo4j(http://www.neo4j.org/) to reprezentatywna baza danych grafów używana do przechowywania złożonych i wielowymiarowych danych o strukturze grafów.

Redis to przedstawiciel NoSQL oparty na Key-Value, a także Redis-to-go do świadczenia usług przechowywania danych.

MongoDB/CouchDB to przedstawiciel NoSQL oparty na Document, a Couchbase to połączenie technologii Document/Key-Value.

VoltDB jest reprezentantem NewSQL, z spójnością danych i dobrą skalowalnością, a jego wydajność jest dziesiątki razy wyższa niż MySQL.

TiDB to rozproszona baza danych SQL opracowana przez krajowy zespół PingCAP. Zainspirowany kluczem Google F1 i Google, TiDB obsługuje funkcje takie jak tradycyjny RDBMS i NoSQL.

I.7 TICK stack

InfluxDB

Narzędzia do bazy danych szeregów czasowych.

Telegraf

jest narzędziem do zbierania i przechowywania danych. Zapewnia wiele wtyczek wejściowych i wyjściowych, takich jak zbieranie lokalnego CPU, obciążenia, ruchu sieciowego itp., a następnie zapisywanie ich do InfluxDB lub Kafki.

Chronograf

Narzędzia do rysowania

Kapacitor

Kapacitor to narzędzie alarmowe firmy InfluxData, które odczytuje dane z InfluxDB i konfiguruje TickScript zgodnie z typem DLS do alertów.

I.8 Utrzymując paliwo

Keepalived to oprogramowanie usługowe w zarządzaniu klastrami, które zapewnia wysoką dostępność klastra, podobnie jak Heartbeat, aby zapobiec pojedynczym punktom awarii.

keepalilived opiera się na protokole VRRP, który oznacza Virtual Router Redundancy Protocol, czyli protokół redundancji wirtualnego routingu.

Protokół redundancji wirtualnej trasy, który można uznać za protokół umożliwiający osiągnięcie wysokiej dostępności routerów, czyli N routerów o tych samych funkcjach tworzy grupę routerów, która ma mastera i wiele kopii zapasowych, a na masterze jest VIP, który świadczy usługi dla świata zewnętrznego (domyślną trasą innych maszyn w LAN, gdzie znajduje się router, jest VIP), master wysyła multicast, a gdy kopia zapasowa nie może otrzymać pakietu VRRP, uważa się, że master jest niedostępny. Na ten moment musisz wybrać kopię zapasową jako główną kartę zgodnie z priorytetem VRRP. To zapewni wysoką dostępność routera.

Keepalived składa się z trzech głównych modułów: Core, Check i VRRP. Moduł rdzeniowy jest rdzeniem keepalived, który odpowiada za uruchamianie i utrzymanie głównego procesu, a także za ładowanie i analizę globalnych plików konfiguracyjnych. Kontrola kontrolna odpowiada za badania zdrowotne, w tym różne powszechne metody badania. Moduł VRRP został zaprojektowany do implementacji protokołu VRRP


Port I.9

Harbor to serwer rejestrów klasy korporacyjnej do przechowywania i dystrybucji obrazów Docker.

I.10 Ignite / Redis

Apache Ignite In-Memory Data Organization Framework to wysokowydajna, zintegrowana i rozproszona platforma obliczeń i transakcyjnych w pamięci do przetwarzania dużych zbiorów danych o wyższej wydajności niż tradycyjne technologie oparte na dyskach lub flash, a także zapewnia wysokowydajne, rozproszone zarządzanie organizacją danych w pamięci pomiędzy aplikacjami a różnymi źródłami danych.


Numer seryjnyPorównaj projektyApache IgniteRedis
1JCache (JSR 107)Ignite jest w pełni kompatybilny ze specyfikacją buforowania JCache (JSR107)Brak poparcia
2Transakcje ACIDIgnite w pełni obsługuje transakcje ACID, w tym optymistyczne i pesymistyczne modele współbieżności, a także poziomy izolacji READ_COMMITTED, REPEATABLE_READ i SERIALIZABLE.Redis oferuje ograniczone wsparcie dla optymistycznych transakcji po stronie klienta, które wymagają ręcznego ponownego wykonania transakcji w przypadku równoczesnych aktualizacji.
3Partycjonowanie danychIgnite obsługuje bufor partycjonowane, podobne do rozproszonego hasha, gdzie każdy węzeł w klastrze przechowuje część danych, a Ignite automatycznie równoważy dane w przypadku zmiany topologii.Redis nie zapewnia partycjonowania, ale umożliwia dzielenie replik, co jest bardzo sztywne w użyciu i wymaga serii dość złożonych ręcznych kroków za każdym razem, gdy topologia się zmienia, zarówno od klienta, jak i serwera.
4Pełna kopiaIgnite obsługuje replikację w pamięci podręcznej, wspieraną przez każdą parę klucz-wartość dla każdego węzła w klastrze.Redis nie zapewnia bezpośredniego wsparcia dla pełnej replikacji.
5Obiekt natywnyIgnite pozwala użytkownikom korzystać z własnego modelu obiektu domenowego i zapewnia natywne wsparcie dla dowolnego typu danych (obiektu) Java/Scala, C++ oraz .NET/C#, umożliwiając użytkownikom łatwe przechowywanie dowolnego programu i obiektu domeny w pamięci podręcznej Ignite.Redis nie pozwala użytkownikom na używanie niestandardowych typów danych, obsługuje jedynie zdefiniowane zbiory podstawowych struktur danych, takich jak Set, List, Array i kilka innych.
6Pamięć podręczna po stronie klienta (niemal niedaleko)Ignite zapewnia bezpośrednie wsparcie dla buforowania danych po stronie klienta.Brak poparcia
7 (po stronie serwera) ZestawienieIgnite obsługuje bezpośrednie wykonywanie dowolnego kodu Java, C++ i .NET/C# w sposób towarzyszący blisko danych po stronie serwera.Redis zazwyczaj nie posiada możliwości kolokacji, a strona serwera obsługuje praktycznie jedynie język skryptowy LUA, a strona serwera nie obsługuje bezpośrednio wykonywania kodu Java, .NET ani C++.
8Zapytania SQLIgnite obsługuje pełną składnię SQL (ANSI-99) do zapytań danych w pamięci.Redis nie obsługuje żadnego języka zapytań, a jedynie API buforowania po stronie klienta.
9Ciągłe badanieIgnite obsługuje zarówno zapytania trwałe po stronie klienta, jak i serwera, a użytkownicy mogą ustawić filtry po stronie serwera, aby zmniejszyć i zmniejszyć liczbę zdarzeń przesyłanych do klienta.Redis obsługuje powiadomienia o zdarzeniach opartych na kluczach po stronie klienta, ale nie zapewnia filtrów po stronie serwera, co skutkuje znacznym wzrostem ruchu sieciowego w celu aktualizacji powiadomień zarówno po stronie klienta, jak i serwera.
10Integracja z bazą danychIgnite może automatycznie integrować zewnętrzne bazy danych – RDBMS, NoSQL i HDFS.Redis nie może być zintegrowany z zewnętrznymi bazami danych.



I.11 ELK

ELK składa się z trzech komponentów: Elasticsearch, Logstash i Kibana;

Elasticsearch to otwartoźródłowa rozproszona wyszukiwarka oferująca rozproszone, zero-konfiguracyjne, automatyczne odkrywanie, automatyczne fragmentowanie indeksów, mechanizm repliki indeksu, interfejs w stylu restfull, wiele źródeł danych oraz automatyczne wyszukiwanie.

Logstash to całkowicie otwarte narzędzie, które zbiera, analizuje i przechowuje Twoje logi do późniejszego wykorzystania

Kibana to otwartoźródłowe i bezpłatne narzędzie, które zapewnia Logstash i ElasticSearch przyjazny dla analityki logów interfejs internetowy, pomagający agregować, analizować i przeszukiwać ważne logi danych.



I.12 Kong (Nginx)

Kong to bardzo dostępny, łatwy do rozszerzenia projekt API napisany na Nginx_Lua modułach i jest open source firmy Mashape. Ponieważ Kong opiera się na Nginx, może skalować wiele serwerów Kong poziomo i równomiernie rozdzielać żądania na każdy serwer poprzez konfigurację frontload, aby obsłużyć dużą liczbę żądań sieciowych.

Kong składa się z trzech głównych składników:

KongServer: Serwer oparty na nginx, który odbiera żądania API.

ApacheCassandra/PostgreSQL: Używany do przechowywania danych operacyjnych.

Kongdashboard: Oficjalnie polecane narzędzie do zarządzania UI, oczywiście możesz też używać restfull do zarządzania adminapi.

Kong wykorzystuje mechanizm wtyczek do funkcjonalnej personalizacji, gdzie zestaw wtyczek (które mogą mieć 0 lub n) jest wykonywany podczas cyklu życia pętli odpowiedzi na żądania API. Wtyczka jest napisana w Lua i obecnie posiada kilka podstawowych funkcji: podstawową autoryzację HTTP, uwierzytelnianie kluczy, CORS (Cross-originResourceSharing), TCP, UDP, logowanie plików, ograniczanie żądań API, przekierowanie żądań oraz monitorowanie nginx.



I.13 Openstack

OpenStack+KVM

OpenStack: Projekt zarządzania open source

OpenStack to projekt open source, którego celem jest dostarczanie oprogramowania do budowy i zarządzania chmurami publicznymi i prywatnymi. To nie jest oprogramowanie, lecz połączenie kilku głównych komponentów, które mają wykonać konkretną pracę. OpenStack składa się z następujących pięciu stosunkowo niezależnych komponentów:

OpenStackCompute (Nova) to zestaw kontrolerów używanych do obliczeń maszyn wirtualnych lub do uruchamiania instancji maszyny wirtualnej za pomocą grup;

OpenStack Image Service (Glance) to system wyszukiwania i pobierania obrazów maszyn wirtualnych, który realizuje zarządzanie obrazami maszyn wirtualnych.

OpenStack Object Storage (Swift) to system pamięci masowej oparty na obiektach dla dużych systemów z wbudowaną redundancją i odpornością na błędy, podobny do Amazon S3.

OpenStackKeystone do usług tożsamości użytkownika i zarządzania zasobami, a także

OpenStackHorizon, interfejs dashboardowy oparty na Django, to graficzny front-end do zarządzania.

Pierwotnie opracowany przez NASA i Rackspace pod koniec 2010 roku, ten projekt open-source ma na celu stworzenie łatwej we wdrażaniu, bogatej w funkcje i skalowalnej platformy chmurowej. Pierwszym zadaniem projektu OpenStack jest uproszczenie procesu wdrożenia chmury i zapewnienie jej dobrej skalowalności, w próbie stania się systemem operacyjnym centrum danych, czyli systemem operacyjnym chmury.

KVM: Otwarta technologia wirtualizacji

KVM (VirtualMachine oparta na jądrze) to otwarty moduł wirtualizacji systemów, który wymaga wsparcia sprzętowego, takiego jak technologia IntelVT lub AMDV, w pełni zwirtualizowany na podstawie sprzętu i w pełni wbudowany w Linuksa.

W 2008 roku Red Hat przejął Qumranet, aby pozyskać technologię KVM i promować ją jako część swojej strategii wirtualizacji, wspierając KVM jako jedyny hipernadzorca po premierze RHEL 6 w 2011 roku. KVM koncentruje się na wysokiej wydajności, skalowalności, wysokim bezpieczeństwie i niskich kosztach.



I.14 Disconf

Koncentrując się na różnych "wspólnych komponentach" i "wspólnych platformach" "rozproszonego zarządzania konfiguracją systemów", oferujemy zunifikowane "usługi zarządzania konfiguracją".

I.15 Apollo

Apollo to platforma zarządzania konfiguracją opracowana przez dział frameworkowy Ctrip, która może centralnie zarządzać konfiguracją różnych środowisk i klastrów aplikacji, a po modyfikacji konfiguracji może być przesyłana na stronę aplikacji w czasie rzeczywistym po modyfikacji konfiguracji, posiada ustandaryzowane uprawnienia, zarządzanie procesami i inne cechy.

Serwer jest opracowany w oparciu o SpringBoot i SpringCloud i może być uruchamiany bezpośrednio po zapakowaniu bez konieczności instalowania dodatkowych kontenerów aplikacji, takich jak Tomcat.


I.16 gRPC

gRPC to wysokowydajny, otwartoźródłowy i wszechstronny framework RPC przeznaczony do projektowania mobilnego i HTTP/2. Obecnie dostępne są wersje językowe C, Java i Go, mianowicie: grpc, grpc-Java i grpc-go. Wersja C obsługuje C, C++, Node.js, Python, Ruby, Objective-C, PHP oraz C#.

gRPC został zaprojektowany na bazie standardu HTTP/2, oferując funkcje takie jak przepływ dwukierunkowy, kontrola przepływu, kompresja głowicy oraz multipleksowanie żądań na jednym połączeniu TCP. Dzięki tym funkcjam działa lepiej na urządzeniach mobilnych, oszczędzając energię i miejsce.



Kanał I.17

canal to projekt open source działający w ramach Alibaba, tworzący wyłącznie w Javie. Opierając się na przyrostowym parsowaniu logów bazy danych, oferuje subskrypcję i konsumpcję danych inkrementalnych, a obecnie głównie wspiera MySQL (obsługuje także mariaDB).

Usługi oparte na logowaniu subskrypcji i wsparciu konsumpcyjnego:

  • Lustrzane odbicie baz danych
  • Kopia zapasowa w czasie rzeczywistym
  • Indeksowanie wielopoziomowe (indeksy sprzedające i kupujące oddzielnie)
  • searchbuild
  • Odświeżanie pamięci podręcznej serwisowej
  • Ważne wiadomości biznesowe, takie jak zmiany cen



I.18 Sparkstreaming

SparkStreaming to rozszerzenie rdzeniowego API Spark, które umożliwia wysokoprzepustowe, odporne na błędy przetwarzanie danych strumieniowych w czasie rzeczywistym. Obsługa akwizycji danych z różnych źródeł, w tym Kafk, Flume, Twitter, ZeroMQ, Kinesis i TCPsockets, a po pobieraniu danych ze źródeł danych można przetwarzać złożone algorytmy za pomocą zaawansowanych funkcji, takich jak mapowanie, redukcja, łączenie i window.


I.19 SonarQube

Sonar to otwartoźródłowa platforma do zarządzania jakością kodu, służąca do zarządzania jakością kodu źródłowego i wykrywania jakości kodu z siedmiu wymiarów

Dzięki wtyczkom może wspierać zarządzanie jakością i wykrywanie kodu w ponad 20 językach programowania, w tym w java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groovy i innych

I.20 DataX

DataX to narzędzie do synchronizacji offline dla heterogenicznych źródeł danych, dedykowane stabilnej i efektywnej synchronizacji danych między różnymi heterogenicznymi źródłami danych, w tym relacyjnymi bazami danych (MySQL, Oracle itp.), HDFS, Hive, ODPS, HBase, FTP i innymi.

I.21 Zarządzanie Zen/Jira

Funkcja zen
1) Zarządzanie produktami: produktami, wymaganiami, planami, wydaniami, mapami drogowymi i innymi funkcjami.
2) Zarządzanie projektami: projekty, zadania, zespoły, buildy, wykresy burndownów i inne funkcje.
3) Zarządzanie jakością: błędy, przypadki testowe, zadania testowe, wyniki testów i inne funkcje.
4) Zarządzanie dokumentami: biblioteka dokumentów produktowych, biblioteka dokumentów projektowych, niestandardowa biblioteka dokumentów oraz inne funkcje.
5) Zarządzanie transakcjami: zarządzanie zadaniami, funkcje zarządzania sprawami osobistymi, takie jak Moje zadania, Moje błędy, Moje potrzeby i Moje projekty.
6) Organizacja i zarządzanie: działy, użytkownicy, grupy, uprawnienia i inne funkcje.
7) Funkcja statystyczna: bogata tabela statystyczna.
8) Funkcja wyszukiwania: Znajdź odpowiednie dane poprzez wyszukiwanie.


Funkcje JIRA
1) Śledzenie i zarządzanie problemami (typy problemów to NewFeature, Bug, Task i Improvement);
2) Raport analityczny dotyczący obserwacji problemu;
3) Funkcja zarządzania kategoriami projektów;
4) funkcję lidera komponentów/modułów;
5) Funkcja adresów e-mail projektu;
6) Nieograniczone przepływy pracy.



I.22 XXJOB

XXL-JOB to lekki, rozproszony framework do planowania zadań, którego podstawowe cele projektowe to szybkie rozwijanie, proste uczenie, lekka i łatwa skala.

  • Proste: Wspieraj działanie CRUD przy zadaniach na stronach internetowych, prosta operacja, minuta na rozpoczęcie;
  • Dynamiczna: Obsługuje dynamiczną modyfikację statusu zadania, wstrzymanie/wznowienie zadań oraz zakończenie wykonywanych zadań, które wchodzą w życie natychmiast.
  • Centrum Dyspozytorskie HA (scentralizowane): Harmonogram jest zaprojektowany centralnie, a "Centrum Dyspozytorskie" opiera się na klastrze Quartz i wspiera wdrażanie klastra, co zapewnia HA centrum dyspozytorskiego.
  • Wykonawca HA (rozproszony): Zadania są wykonywane w sposób rozproszony, a "wykonawca" zadania wspiera wdrożenie klastra, aby zapewnić wykonanie zadań w trybie HA.
  • Rejestr: Wykonawca automatycznie będzie rejestrował zadania okresowo, a Centrum Dyspozytorskie automatycznie wykrywa zarejestrowane zadania i uruchamia ich wykonanie. Jednocześnie obsługuje także ręczne wprowadzanie adresów siłowników;
  • Elastyczne skalowanie: Gdy nowa maszyna wykonawcza zostanie uruchomiona lub offline, zadanie zostanie ponownie przypisane podczas kolejnego harmonogramowania.
  • Strategie routowania: Zapewnia bogate strategie routingu podczas wdrażania klastra wykonawczego, w tym: pierwszy, ostatni, polling, losowy, spójny HASH, najmniej używany, ostatnio nieużywany, failover, transfer zajęty itd.
  • Failover: Jeśli wybrane zostanie Failover dla polityki routingu zadań, a maszyna w klastrze egzekutorów zawiedzie, system automatycznie przełącza się na normalny wykonawcę, aby wysłać żądanie harmonogramowania.
  • strategię radzenia sobie z awariami; Polityki obsługi niepowodzeń planowania obejmują: alarm awarii (domyślny), próbę powtórki z błędem;
  • Nieudana próba: Gdy centrum dyspozytorskie zaplanuje niepowodzenie i polityka Nieudana próba jest włączona, system automatycznie próbuje ponownie. Jeśli wykonawca nie wykona i odwołanie nie powróci do stanu, również zostanie ono automatycznie spróbowane.
  • Strategia blokowania przetwarzania: strategia przetwarzania, gdy harmonogram jest zbyt gęsty, by wykonawca mógł go przetworzyć, w tym pojedyncza maszyna szeregowa (domyślnie), odrzucanie kolejnych harmonogramów oraz nadpisywanie wcześniejszego harmonogramowania;
  • Zadanie rozgłoszenia odłamków: Gdy klaster wykonawczy jest wdrażany, jeśli polityka routingu zadań zostanie wybrana jako "Broadcast Shard", harmonogram zadań wywoła rozgłoszenie, aby wywołać wykonanie zadania przez wszystkie wykonawcy w klastrze, a zadanie shardingu może być rozwijane zgodnie z parametrami shardingu.
  • Dynamiczne shardowanie: Zadanie broadcast w shardach jest dzielone na shardy w zależności od wymiaru wykonawcy i wspiera dynamiczną ekspansję klastra wykonawczego w celu dynamicznego zwiększenia liczby shardów oraz współpracy przy przetwarzaniu biznesowym. Wykonywanie operacji biznesowych o dużych objętościach danych może znacząco poprawić pojemność i szybkość przetwarzania zadań.
  • Wyzwalanie zdarzeń: Oprócz metody cron oraz trybu zależnego od zadania do wyzwalania zadań, obsługiwane są metody wyzwalania zdarzeń. Centrum dyspozytorskie oferuje usługi API, które wywołują pojedyncze wykonanie zadań, które mogą być elastyczne w zależności od zdarzeń biznesowych.
  • Monitorowanie postępów zadań: Wsparcie monitorowania postępów w czasie rzeczywistym;
  • Rolling log w czasie rzeczywistym: umożliwia przeglądanie wyników harmonogramu online oraz umożliwia przegląd całego dziennika wykonania wykonawcy w czasie rzeczywistym w trybie ruchomym.
  • GLUE: Zapewnia WebIDE, które wspiera online tworzenie kodu logicznego zadań, dynamiczne wydawanie, kompilację w czasie rzeczywistym oraz efektywność, eliminując proces wdrażania i uruchamiania. Wspieraj 30 wersji historycznej wersji od tyłu.
  • Zadania skryptowe: Wspierają tworzenie i uruchamianie zadań skryptowych w trybie GLUE, w tym Shell, Python, NodeJS i innych skryptów.
  • Zależności zadań: Wspiera konfigurację zależności podzadań, gdy zadanie nadrzędne zostanie wykonane i wykonanie zakończy się sukcesem, aktywnie uruchamiane zostanie wykonanie podzadania, a wiele podzadań będzie rozdzielonych przecinkami.
  • Spójność: Centrum Planowania zapewnia spójność rozproszonego harmonogramowania klastrowego poprzez blokady bazy danych, a tylko jedno planowanie zadań wywoła jedno wykonanie.
  • Niestandardowe parametry zadania: Obsługa konfiguracji online parametrów harmonogramowania zadań, które wchodzą w życie natychmiast;
  • Pula wątków planowania: System harmonogramowania uruchamia operację planowania z wieloma wątkami, aby zapewnić dokładne wykonanie harmonogramu i brak blokady.
  • Szyfrowanie danych: Komunikacja między centrum dyspozytorskim a wykonawcą jest szyfrowana, aby poprawić bezpieczeństwo informacji dyspozytorskiej.
  • Alarm e-mailowy: Wspieraj alarm e-mail, gdy zadanie się nie powiedzie, oraz wsparcie konfigurowania wielu adresów e-mail do masowego wysyłania alarmowych e-maili.
  • Centralne repozytorium Push maven: Najnowsza stabilna wersja zostanie przeniesiona do centralnego repozytorium maven, aby ułatwić dostęp i korzystanie z nich przez użytkowników.
  • Raport uruchomienia: Obsługuje przegląd bieżących danych, takich jak liczba zadań, liczba harmonogramów, liczba wykonawców itp. oraz raporty harmonogramowe, takie jak wykres rozkładu dat harmonogramu, mapa sukcesu rozkładu harmonogramów itp.;
  • Pełna asynchronia: Dolna warstwa systemu realizuje pełną asynchroniczność, a redukcja szczytów ruchu jest wykonywana dla gęstego harmonogramowania, co teoretycznie wspiera działanie zadań o dowolnym czasie trwania.



I.23 Stos soli

Nowy sposób zarządzania infrastrukturą, łatwy do wdrożenia, działający w kilka minut, dobra skalowalność, łatwy w zarządzaniu dziesiątkami tysięcy serwerów, wystarczająco szybki, komunikacja między serwerami w kilka sekund.

Podstawowa warstwa soli przyjmuje dynamiczną magistralę połączeniową, która może być wykorzystywana do orkiestracji, zdalnego wykonywania, zarządzania konfiguracją itp.

I.24 Istio

Jako nowoczesny projekt zarządzania warstwami agregacji usług mikroserwisowych, Istio jest pierwszym wspólnym projektem open source Google, IBM i Lyft (zagranicznej firmy ridesharingowej i rywalem Ubera), oferującym zunifikowane rozwiązanie, bezpieczeństwo, zarządzanie i monitorowanie mikroserwisów.

Pierwsza beta dotyczy obecnie środowisk Kubernetes, a społeczność twierdzi, że w najbliższych miesiącach zostanie dodane wsparcie dla maszyn wirtualnych i innych środowisk, takich jak CloudFoundry. Istio dodaje zarządzanie ruchem do mikroserwisów i tworzy podstawę dla funkcji o wartości dodanej, takich jak bezpieczeństwo, monitorowanie, routing, zarządzanie połączeniami oraz polityki.

  • automatyczne równoważenie obciążenia dla ruchu sieciowego HTTP, gRPC i TCP;
  • Zapewnia bogate reguły routingu, aby zapewnić precyzyjną kontrolę zachowania ruchu sieciowego.
  • szyfrowanie ruchu, uwierzytelnianie między usługami oraz silne roszczenia tożsamości;
  • egzekwowanie polityki na całej flocie;
  • Głęboka telemetria i raportowanie.



Architektura




Bezpieczeństwo



Podstawy

Salt Stack + OpenStack + KVM + Kubernetes + Istio





Poprzedni:Udostępnianie danych AI
Następny:Szczegółowe wyjaśnienie krotki C# VS Wartości
Opublikowano 17.07.2019 13:41:46 |
Dziękuję za podzielenie się, naukę...
Opublikowano 27.11.2019 10:56:12 |
Ilość wiedzy jest dość duża
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com