প্রকল্প সম্পর্কে
Apache Dubbo-go হল Apache Dubbo-এর Go বাস্তবায়ন, একটি উচ্চ-পারফরম্যান্স RPC ও মাইক্রোসার্ভিস ফ্রেমওয়ার্ক যা অন্যান্য ভাষার Dubbo বাস্তবায়নের সাথে আন্তঃপরিচালনার জন্য ডিজাইন করা হয়েছে। এটি সার্ভিস ডিসকভারি, লোড ব্যালান্সিং এবং ট্রাফিক ম্যানেজমেন্টের মতো সার্ভিস গভর্নেন্স সমর্থন করতে Go-এর কনকারেন্সি বৈশিষ্ট্য ব্যবহার করে।
প্রোটোকল সমর্থনে Dubbo, JSONRPC, Triple (gRPC-সামঞ্জস্যপূর্ণ), gRPC, HTTP, HTTP2 এবং পরীক্ষামূলক HTTP/3 অন্তর্ভুক্ত, যা ভিন্নধর্মী পরিবেশে ইন্টিগ্রেশনে সহায়তা করে। তালিকাভুক্ত সার্ভিস ডিসকভারি ইন্টিগ্রেশনগুলির মধ্যে রয়েছে Nacos, Zookeeper, Etcd এবং Polaris-mesh। লোড ব্যালান্সিং কৌশলগুলির মধ্যে রয়েছে Adaptive, Random, RoundRobin, LeastActive এবং ConsistentHash। ট্রাফিক ম্যানেজমেন্ট ট্রাফিক স্প্লিট, টাইমআউট, রেট লিমিটিং এবং ক্যানারি রিলিজ কভার করে। কনফিগারেশন YAML ফাইল বা Nacos, Apollo এবং Zookeeper-এর মতো ডায়নামিক সোর্স থেকে আসতে পারে। পর্যবেক্ষণ বিকল্পগুলির মধ্যে রয়েছে Prometheus মেট্রিক্স, OpenTelemetry ট্রেসিং এবং সার্ভিস রেজিস্ট্রেশন লাইফসাইকেল ইভেন্ট সহ লগিং। হাই-অ্যাভেইলেবিলিটি কৌশলগুলির মধ্যে রয়েছে Failover, Failfast, Failsafe/Failback, Available, Broadcast এবং Forking।
README Triple প্রোটোকল জেনেরিক কল, গ্রুপ/ভার্সন ওয়াইল্ডকার্ড ম্যাচিং এবং একটি TLS API পুনর্নকশনের মাধ্যমে Apache Dubbo (Java)-এর সাথে আন্তঃপরিচালনা হাইলাইট করে। সাম্প্রতিক রিলিজগুলি API একত্রীকরণ, Triple প্রোটোকল ক্ষমতা, অ্যাপ্লিকেশন-স্তরের মেটাডেটা, সার্ভিস গভর্নেন্স, কনকারেন্সি নিরাপত্তা এবং রিলিজ টুলিং-এর উপর ফোকাস করে। ভার্সন 3.3.2 গ্লোবাল প্যাকেজের পক্ষে লিগ্যাসি কনফিগ প্যাকেজ সরিয়ে দেয় এবং রেস, স্টেল স্ন্যাপশট এবং রিসোর্স লিকের সমাধান উল্লেখ করে। ভার্সন 3.3.1 কনটেন্ট-ভিত্তিক ক্যাশিং সহ কনফিগারেশন হট-রিলোডিং, পরীক্ষামূলক HTTP/3, Apollo ইন্টিগ্রেশন এবং Triple OpenAPI জেনারেশন যোগ করে। ভার্সন 3.3.0 স্ক্রিপ্ট রাউটিং, মাল্টি-ডেস্টিনেশন কন্ডিশনাল রাউটিং, Triple কিপঅ্যালাইভ ও কানেকশন পুলিং এবং Nacos মাল্টি-ক্যাটাগরি সাবস্ক্রিপশন প্রবর্তন করে।
শুরু করতে Go 1.24 বা তার পরবর্তী ভার্সন প্রয়োজন। ইনস্টলেশন `go get dubbo.apache.org/dubbo-go/v3@latest`-এর মাধ্যমে করা হয়। একটি দ্রুত উদাহরণ দেখায় কীভাবে Protobuf দিয়ে একটি সার্ভিস সংজ্ঞায়িত করা যায়, তা বাস্তবায়ন করা যায়, একটি পোর্টে Triple প্রোটোকল সহ একটি সার্ভারে রেজিস্টার করা যায় এবং সার্ভ করা যায়। এরপর সার্ভিসটি HTTP-এর মাধ্যমে JSON ব্যবহার করে cURL দিয়ে বা একটি স্ট্যান্ডার্ড dubbo-go ক্লায়েন্টের মাধ্যমে কল করা যেতে পারে। নমুনাগুলি dubbo-go-samples রিপোজিটরিতে উপলব্ধ।
ডেভেলপমেন্ট টুলগুলি `tools/` ডিরেক্টরিতে থাকে: স্ক্যাফোল্ডিং, সহযোগী টুল ইনস্টল, মেটাডেটা পরিদর্শন এবং ডিবাগিংয়ের জন্য dubbogo-cli; protobuf সংজ্ঞা থেকে Triple বাইন্ডিং জেনারেট করার জন্য protoc-gen-go-triple; OpenAPI v3 ডকুমেন্ট জেনারেট করার জন্য protoc-gen-triple-openapi; Go ইমপোর্ট গ্রুপিংয়ের জন্য imports-formatter; YAML কনফিগ ভ্যালিডেশনের জন্য dubbo-go-schema; এবং Dubbo-Go, Dubbo-Java ও gRPC তুলনা করা একটি বেঞ্চমার্ক স্যুট।
ইকোসিস্টেমে রয়েছে dubbo-go-samples, বহু-ভাষা আন্তঃপরিচালনার জন্য প্রক্সি হিসেবে dubbo-go-pixiu, Dubbo Java আন্তঃপরিচালনা টিউটোরিয়াল এবং Dubbo Admin কনসোল। ডকুমেন্টেশন অফিসিয়াল Dubbo ওয়েবসাইট এবং Go SDK সেকশনে উপলব্ধ। প্রকল্পটি Apache License 2.0-এর অধীনে লাইসেন্সপ্রাপ্ত এবং GitHub ইস্যু ও মেইলিং লিস্টের মাধ্যমে অবদানকে স্বাগত জানায়।
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.