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