tanszek:oktatas:informacios_rendszerek_integralasa:grpc
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| tanszek:oktatas:informacios_rendszerek_integralasa:grpc [2025/03/21 19:42] – created knehez | tanszek:oktatas:informacios_rendszerek_integralasa:grpc [2025/03/21 20:16] (current) – [Haladó lehetőségek] knehez | ||
|---|---|---|---|
| Line 50: | Line 50: | ||
| Futtassuk a stub generátort az alábbi paranccsal: | Futtassuk a stub generátort az alábbi paranccsal: | ||
| - | python -m grpc_tools.protoc -I ./protos/ --python_out=. .\protos\helloworld.proto | + | python -m grpc_tools.protoc -I ./ |
| - | A '' | + | A '' |
| + | |||
| + | A kliens és a szerver kódja az alábbi lesz: | ||
| + | |||
| + | '' | ||
| + | <sxh python> | ||
| + | import grpc | ||
| + | import helloworld_pb2 | ||
| + | import helloworld_pb2_grpc | ||
| + | |||
| + | def run(): | ||
| + | print(" | ||
| + | with grpc.insecure_channel(" | ||
| + | stub = helloworld_pb2_grpc.GreeterStub(channel) | ||
| + | response = stub.SayHello(helloworld_pb2.HelloRequest(name=" | ||
| + | print(" | ||
| | | ||
| + | if __name__ == " | ||
| + | run() | ||
| + | </ | ||
| + | |||
| + | '' | ||
| + | <sxh python> | ||
| + | from concurrent import futures | ||
| + | |||
| + | import grpc | ||
| + | import helloworld_pb2 | ||
| + | import helloworld_pb2_grpc | ||
| + | |||
| + | |||
| + | class Greeter(helloworld_pb2_grpc.GreeterServicer): | ||
| + | def SayHello(self, | ||
| + | return helloworld_pb2.HelloReply(message=" | ||
| + | |||
| + | def serve(): | ||
| + | port = " | ||
| + | server = grpc.server(futures.ThreadPoolExecutor(max_workers=10)) | ||
| + | helloworld_pb2_grpc.add_GreeterServicer_to_server(Greeter(), | ||
| + | server.add_insecure_port(" | ||
| + | server.start() | ||
| + | print(" | ||
| + | server.wait_for_termination() | ||
| + | |||
| + | |||
| + | if __name__ == " | ||
| + | serve() | ||
| + | </ | ||
| + | | ||
| + | Indítsuk el a szervert és klienst. | ||
| + | |||
| + | ==== Haladó lehetőségek ==== | ||
| + | |||
| + | https:// | ||
| + | |||
| + | * Authentication – Hitelesítési módszerek, beleértve saját mechanizmusok beépítését. | ||
| + | * Benchmarking – Teljesítménymérés eszközei és módszerei. | ||
| + | * Cancellation – RPC hívások megszakítása. | ||
| + | * Compression – Adatok tömörítése az átvitel előtt. | ||
| + | * Custom Backend Metrics – Saját metrikák gyűjtése szerver és kliens oldalon. | ||
| + | * Custom Load Balancing Policies – Egyedi terheléselosztási szabályok implementálása. | ||
| + | * Custom Name Resolution – Névfeloldás testreszabása. | ||
| + | * Deadlines – Határidők használata megbízhatatlan háttérszolgáltatások esetén. | ||
| + | * Debugging – Hibakeresés grpcdebug eszközzel. | ||
| + | * Error Handling – Hibakezelés és státuszkódok értelmezése. | ||
| + | * Flow Control – Manuális adatfolyam-vezérlés. | ||
| + | * Graceful Shutdown – Szerverek leállítása az ügyfelek megszakítása nélkül. | ||
| + | * Health Checking – Egészségügyi ellenőrzés támogatása szerver és kliens oldalon. | ||
| + | * Interceptors – Köztes rétegek alkalmazása általános funkcionalitásokhoz. | ||
| + | * Keepalive – HTTP/2 alapú kapcsolatébrentartás. | ||
| + | * Metadata – Kiegészítő adatok küldése fejlécekkel. | ||
| + | * OpenTelemetry Metrics – Megfigyelhetőség, | ||
| + | * Performance Best Practices – Nyelvfüggő teljesítményoptimalizálási tanácsok. | ||
| + | * Reflection – Szolgáltatásleírások lekérdezése futásidőben. | ||
| + | * Request Hedging – Késleltetett kérések párhuzamos újraküldése. | ||
| + | * Retry – Újrapróbálkozás szabályozása részletesen. | ||
| + | * Service Config – Szolgáltatáskonfigurációs fájl kliens viselkedés befolyásolására. | ||
| + | * Status Codes – Részletes státuszkód lista és jelentések. | ||
| + | * Wait-for-Ready – Várakozás, | ||
| + | |||
| + | ==== Feladatok ==== | ||
| + | |||
| + | - Próbáljuk ki a **Deadlines** módszert, hogyan lehet timeout-okat szabályosan kezelni. | ||
| + | |||
tanszek/oktatas/informacios_rendszerek_integralasa/grpc.1742586120.txt.gz · Last modified: 2025/03/21 19:42 by knehez
