Apache Thrift ইনস্টল এবং সেটআপ করার প্রক্রিয়া তুলনামূলকভাবে সহজ, এবং এটি বিভিন্ন অপারেটিং সিস্টেমে করা যায়। নিচে Windows এবং Linux (Ubuntu) প্ল্যাটফর্মে Thrift ইনস্টলেশন এবং সেটআপের পদক্ষেপগুলি বিস্তারিতভাবে আলোচনা করা হলো।
Windows এ Thrift ইনস্টলেশন
পদক্ষেপ ১: প্রয়োজনীয় উপাদান ইনস্টল করা
CMake:
- CMake ডাউনলোড করুন এবং ইনস্টল করুন CMake Official Site
Visual Studio:
- Visual Studio (2015 বা তার পরবর্তী সংস্করণ) ইনস্টল করুন, যাতে C++ ডেভেলপমেন্ট টুলস অন্তর্ভুক্ত থাকে।
Git:
- Git ইনস্টল করুন, যদি আপনার সিস্টেমে ইতিমধ্যে ইনস্টল করা না থাকে। Git Official Site
পদক্ষেপ ২: Thrift ডাউনলোড এবং কম্পাইল করা
Thrift রেপোজিটরি ক্লোন করুন:
git clone https://github.com/apache/thrift.git
CMake ব্যবহার করে কম্পাইল করুন:
- Thrift ফোল্ডারে যান:
- CMake এবং Visual Studio ব্যবহার করে প্রোজেক্ট তৈরি করুন:
mkdir build
cd build
cmake ..
cmake --build . --config Release
cd thrift
Thrift Executable ব্যবহার:
- ইনস্টলেশন সম্পন্ন হলে,
thrift.exeফাইলটিbuildডিরেক্টরিতে পাওয়া যাবে। এটি Thrift কমান্ড লাইন ইউটিলিটি।
Linux (Ubuntu) এ Thrift ইনস্টলেশন
পদক্ষেপ ১: প্রয়োজনীয় প্যাকেজ ইনস্টল করা
প্যাকেজ আপডেট করুন:
sudo apt-get update
প্রয়োজনীয় প্যাকেজ ইনস্টল করুন:
sudo apt-get install -y build-essential git automake libtool pkg-config
sudo apt-get install -y libboost-all-dev
sudo apt-get install -y libssl-dev
sudo apt-get install -y python3-dev
পদক্ষেপ ২: Thrift ডাউনলোড এবং কম্পাইল করা
Thrift রেপোজিটরি ক্লোন করুন:
git clone https://github.com/apache/thrift.git
Thrift ফোল্ডারে যান:
cd thrift
CMake ব্যবহার করে কম্পাইল করুন:
mkdir build
cd build
cmake ..
make
Thrift Executable ব্যবহার:
- ইনস্টলেশন সম্পন্ন হলে,
thriftExecutable ফাইলটিbuildডিরেক্টরিতে পাওয়া যাবে। এটি Thrift কমান্ড লাইন ইউটিলিটি।
Thrift এর ব্যবহার শুরু করা
- Thrift ব্যবহার শুরু করার জন্য, একটি IDL (Interface Definition Language) ফাইল তৈরি করুন যেখানে সার্ভিস এবং ডেটা স্ট্রাকচারগুলি সংজ্ঞায়িত করা হবে। তারপর Thrift কমান্ড ব্যবহার করে কোড জেনারেট করুন।
উদাহরণ IDL ফাইল (example.thrift):
namespace py example
service ExampleService {
string sayHello(1:string name)
}
কোড জেনারেট করা:
thrift --gen py example.thrift
উপসংহার
Apache Thrift ইনস্টলেশন এবং সেটআপ প্রক্রিয়া সহজ এবং এটি ডেভেলপারদের জন্য বিভিন্ন ভাষার মধ্যে যোগাযোগ সহজতর করে। সঠিকভাবে ইনস্টল করার পর, আপনি Thrift এর মাধ্যমে ডিস্ট্রিবিউটেড সিস্টেমের জন্য কার্যকরী সমাধান তৈরি করতে সক্ষম হবেন।
Apache Thrift ইনস্টল করা একটি সহজ প্রক্রিয়া, এবং এটি Windows, Linux, এবং macOS-এ করা যায়। নিচে প্রতিটি অপারেটিং সিস্টেমের জন্য Thrift ইনস্টলেশনের পদক্ষেপগুলি বিস্তারিতভাবে আলোচনা করা হলো।
Windows এ Apache Thrift ইনস্টলেশন
পদক্ষেপ ১: প্রয়োজনীয় সফটওয়্যার ইনস্টল করা
CMake:
- CMake Official Site থেকে CMake ডাউনলোড করুন এবং ইনস্টল করুন।
Visual Studio:
- Visual Studio (2015 বা পরবর্তী সংস্করণ) ইনস্টল করুন, নিশ্চিত করুন যে C++ ডেভেলপমেন্ট টুলস অন্তর্ভুক্ত আছে।
Git:
- Git Official Site থেকে Git ডাউনলোড এবং ইনস্টল করুন।
পদক্ষেপ ২: Thrift ডাউনলোড এবং কম্পাইল করা
Thrift রেপোজিটরি ক্লোন করুন:
git clone https://github.com/apache/thrift.git
CMake ব্যবহার করে কম্পাইল করুন:
- Thrift ফোল্ডারে যান:
- CMake এবং Visual Studio ব্যবহার করে প্রোজেক্ট তৈরি করুন:
mkdir build
cd build
cmake ..
cmake --build . --config Release
cd thrift
Thrift Executable ব্যবহার:
- ইনস্টলেশন সম্পন্ন হলে,
thrift.exeফাইলটিbuildডিরেক্টরিতে পাওয়া যাবে।
Linux (Ubuntu) এ Apache Thrift ইনস্টলেশন
পদক্ষেপ ১: প্রয়োজনীয় প্যাকেজ ইনস্টল করা
প্যাকেজ আপডেট করুন:
sudo apt-get update
প্রয়োজনীয় প্যাকেজ ইনস্টল করুন:
sudo apt-get install -y build-essential git automake libtool pkg-config
sudo apt-get install -y libboost-all-dev
sudo apt-get install -y libssl-dev
sudo apt-get install -y python3-dev
পদক্ষেপ ২: Thrift ডাউনলোড এবং কম্পাইল করা
Thrift রেপোজিটরি ক্লোন করুন:
git clone https://github.com/apache/thrift.git
Thrift ফোল্ডারে যান:
cd thrift
CMake ব্যবহার করে কম্পাইল করুন:
mkdir build
cd build
cmake ..
make
Thrift Executable ব্যবহার:
- ইনস্টলেশন সম্পন্ন হলে,
thriftExecutable ফাইলটিbuildডিরেক্টরিতে পাওয়া যাবে।
macOS এ Apache Thrift ইনস্টলেশন
পদক্ষেপ ১: Homebrew ইনস্টল করুন
- Homebrew হল macOS-এর জন্য একটি প্যাকেজ ম্যানেজার। যদি এটি আপনার সিস্টেমে ইনস্টল না করা থাকে, তবে নিম্নলিখিত কমান্ড ব্যবহার করুন:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
পদক্ষেপ ২: প্রয়োজনীয় প্যাকেজ ইনস্টল করুন
CMake এবং Boost ইনস্টল করুন:
brew install cmake boost
Git ইনস্টল করুন (যদি ইতিমধ্যে ইনস্টল না করা থাকে):
brew install git
পদক্ষেপ ৩: Thrift ডাউনলোড এবং কম্পাইল করা
Thrift রেপোজিটরি ক্লোন করুন:
git clone https://github.com/apache/thrift.git
Thrift ফোল্ডারে যান:
cd thrift
CMake ব্যবহার করে কম্পাইল করুন:
mkdir build
cd build
cmake ..
make
Thrift Executable ব্যবহার:
- ইনস্টলেশন সম্পন্ন হলে,
thriftExecutable ফাইলটিbuildডিরেক্টরিতে পাওয়া যাবে।
উপসংহার
Apache Thrift ইনস্টলেশন প্রক্রিয়া Windows, Linux, এবং macOS এর জন্য সোজা এবং কার্যকর। এটি বিভিন্ন প্রোগ্রামিং ভাষার মধ্যে কার্যকর যোগাযোগ নিশ্চিত করে এবং ডিস্ট্রিবিউটেড সিস্টেমের জন্য একটি শক্তিশালী টুল সরবরাহ করে। সঠিকভাবে ইনস্টল করার পর, আপনি Thrift ব্যবহার করে বিভিন্ন সিস্টেমের মধ্যে তথ্য আদান-প্রদান করতে পারবেন।
Apache Thrift Compiler একটি গুরুত্বপূর্ণ উপাদান যা Thrift ফ্রেমওয়ার্কে IDL (Interface Definition Language) ফাইলগুলি থেকে বিভিন্ন প্রোগ্রামিং ভাষার জন্য কোড তৈরি করে। এটি ডিস্ট্রিবিউটেড সিস্টেমগুলির মধ্যে কার্যকরী যোগাযোগের জন্য ব্যবহৃত হয়। নিচে Thrift Compiler সেটআপ এবং ব্যবহার করার প্রক্রিয়া বিস্তারিতভাবে আলোচনা করা হলো।
Thrift Compiler সেটআপ
Windows এ Thrift Compiler ইনস্টলেশন
Prerequisites:
- CMake: CMake Official Site থেকে CMake ডাউনলোড করুন এবং ইনস্টল করুন।
- Visual Studio: Visual Studio (2015 বা পরবর্তী সংস্করণ) ইনস্টল করুন, C++ ডেভেলপমেন্ট টুলস সহ।
- Git: Git Official Site থেকে Git ডাউনলোড এবং ইনস্টল করুন।
Thrift রেপোজিটরি ক্লোন করা:
git clone https://github.com/apache/thrift.git
CMake ব্যবহার করে কম্পাইল করুন:
cd thrift
mkdir build
cd build
cmake ..
cmake --build . --config Release
Thrift Executable ব্যবহার:
- ইনস্টলেশন সম্পন্ন হলে,
thrift.exeফাইলটিbuildডিরেক্টরিতে পাওয়া যাবে।
Linux (Ubuntu) এ Thrift Compiler ইনস্টলেশন
Prerequisites:
sudo apt-get update
sudo apt-get install -y build-essential git automake libtool pkg-config
sudo apt-get install -y libboost-all-dev
sudo apt-get install -y libssl-dev
sudo apt-get install -y python3-dev
Thrift রেপোজিটরি ক্লোন করা:
git clone https://github.com/apache/thrift.git
CMake ব্যবহার করে কম্পাইল করুন:
cd thrift
mkdir build
cd build
cmake ..
make
Thrift Executable ব্যবহার:
- ইনস্টলেশন সম্পন্ন হলে,
thriftExecutable ফাইলটিbuildডিরেক্টরিতে পাওয়া যাবে।
macOS এ Thrift Compiler ইনস্টলেশন
Homebrew ইনস্টল করুন (যদি ইতিমধ্যে ইনস্টল না থাকে):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
CMake এবং Boost ইনস্টল করুন:
brew install cmake boost
Thrift রেপোজিটরি ক্লোন করুন:
git clone https://github.com/apache/thrift.git
CMake ব্যবহার করে কম্পাইল করুন:
cd thrift
mkdir build
cd build
cmake ..
make
Thrift Executable ব্যবহার:
- ইনস্টলেশন সম্পন্ন হলে,
thriftExecutable ফাইলটিbuildডিরেক্টরিতে পাওয়া যাবে।
Thrift Compiler ব্যবহার
১. IDL ফাইল তৈরি করা
- Thrift IDL (example.thrift) ফাইল তৈরি করুন:
namespace py example
service ExampleService {
string sayHello(1:string name)
}
২. Thrift Compiler চালানো
- Thrift কমান্ড ব্যবহার করে কোড জেনারেট করুন:
thrift --gen <language> example.thrift
এখানে <language> হতে পারে py, java, cpp, ruby, ইত্যাদি।
৩. জেনারেটেড কোড ব্যবহার
- জেনারেটেড কোডের সাহায্যে ক্লায়েন্ট এবং সার্ভার অ্যাপ্লিকেশন তৈরি করুন। যেমন:
- Python ক্লায়েন্টে:
উপসংহার
Thrift Compiler ইনস্টলেশন এবং ব্যবহার করা একটি সহজ প্রক্রিয়া যা আপনাকে বিভিন্ন প্রোগ্রামিং ভাষার মধ্যে কার্যকরী যোগাযোগ নিশ্চিত করতে সক্ষম করে। Thrift IDL ব্যবহার করে পরিষেবা এবং ডেটা টাইপ সংজ্ঞায়িত করার পর, Thrift Compiler কোড জেনারেট করে যা বিভিন্ন ডিস্ট্রিবিউটেড সিস্টেমে সহজে ব্যবহৃত হয়।
Thrift IDL (Interface Definition Language) ফাইল তৈরি করা
Apache Thrift-এ IDL (Interface Definition Language) ফাইল তৈরি করা একটি গুরুত্বপূর্ণ পদক্ষেপ, যা ক্লায়েন্ট এবং সার্ভারের মধ্যে যোগাযোগের জন্য API নির্ধারণ করে। Thrift IDL ফাইলের মাধ্যমে আপনি আপনার সার্ভিসের থ্রিফ ডেটা টাইপ এবং মেথডগুলি সংজ্ঞায়িত করতে পারেন। নিচে একটি Thrift IDL ফাইল তৈরি করার প্রক্রিয়া এবং একটি উদাহরণ দেওয়া হলো।
Thrift IDL ফাইল তৈরি করার পদক্ষেপ
Thrift ইনস্টল করুন:
- আপনার সিস্টেমে Thrift ইনস্টল থাকতে হবে। এটি Apache Thrift অফিসিয়াল ওয়েবসাইট থেকে ডাউনলোড এবং ইনস্টল করা যায়।
নতুন IDL ফাইল তৈরি করুন:
- একটি
.thriftএক্সটেনশনের ফাইল তৈরি করুন। উদাহরণস্বরূপ,example.thrift।
Thrift সিনট্যাক্স ব্যবহার করে ডেটা টাইপ এবং সার্ভিস সংজ্ঞায়িত করুন:
- IDL ফাইলে আপনার কাঙ্ক্ষিত ডেটা টাইপ এবং সার্ভিস মেথডগুলি সংজ্ঞায়িত করুন।
Thrift IDL ফাইলের উদাহরণ
নিচে একটি সাধারণ Thrift IDL ফাইলের উদাহরণ দেওয়া হলো যা একটি সরল গণনা সার্ভিস তৈরি করে:
namespace py example // Python namespace
// ডেটা টাইপের সংজ্ঞা
struct Calculator {
1: i32 id,
2: string name
}
// সার্ভিসের সংজ্ঞা
service CalculatorService {
// দুটি সংখ্যার যোগফল বের করার মেথড
i32 add(1: i32 num1, 2: i32 num2),
// দুটি সংখ্যার বিয়োগফল বের করার মেথড
i32 subtract(1: i32 num1, 2: i32 num2),
// একটি সংখ্যা গুণফল বের করার মেথড
i32 multiply(1: i32 num1, 2: i32 num2),
// একটি সংখ্যা ভাগফল বের করার মেথড
i32 divide(1: i32 num1, 2: i32 num2)
}
Thrift IDL ফাইল তৈরি করার পরবর্তী পদক্ষেপ
Thrift Compiler চালান:
- Thrift IDL ফাইলটি কোডে রূপান্তর করতে Thrift Compiler ব্যবহার করুন। উদাহরণস্বরূপ:
- উপরে উল্লিখিত কমান্ডটি Python কোড তৈরি করবে।
thrift --gen py example.thrift
সার্ভার এবং ক্লায়েন্ট বাস্তবায়ন:
- তৈরি করা কোড ব্যবহার করে আপনার সার্ভার এবং ক্লায়েন্ট বাস্তবায়ন করুন।
ডিপ্লয়মেন্ট:
- সার্ভার এবং ক্লায়েন্ট অ্যাপ্লিকেশনগুলি চালানোর পর, আপনার API ব্যবহারের জন্য প্রস্তুত থাকবে।
সারসংক্ষেপ
Thrift IDL ফাইল তৈরি করা হল Apache Thrift ব্যবহার করে ক্লায়েন্ট-সার্ভার যোগাযোগ প্রতিষ্ঠা করার একটি প্রাথমিক পদক্ষেপ। IDL ফাইলের মাধ্যমে আপনি আপনার ডেটা টাইপ এবং সার্ভিস মেথডগুলি সংজ্ঞায়িত করতে পারেন। উপরোক্ত উদাহরণ এবং পদক্ষেপগুলি অনুসরণ করে আপনি সহজেই একটি Thrift IDL ফাইল তৈরি করতে পারবেন এবং আপনার সার্ভিসের জন্য কোড জেনারেট করতে পারবেন।
Thrift সার্ভার এবং ক্লায়েন্ট প্রজেক্ট তৈরি করা
Apache Thrift ব্যবহার করে একটি সার্ভার এবং ক্লায়েন্ট প্রজেক্ট তৈরি করা একটি সহজ প্রক্রিয়া। এটি আপনাকে বিভিন্ন প্রোগ্রামিং ভাষার মধ্যে RPC (Remote Procedure Call) ব্যবহার করে যোগাযোগ স্থাপন করতে সহায়ক। নিচে একটি সরল Thrift সার্ভার এবং ক্লায়েন্ট তৈরি করার পদক্ষেপ বর্ণনা করা হলো।
পদক্ষেপ ১: Thrift ইনস্টলেশন
- Thrift ইনস্টল করুন:
- আপনার সিস্টেমে Thrift ইনস্টল করতে হবে। এটি Apache Thrift অফিসিয়াল ওয়েবসাইট থেকে ডাউনলোড এবং ইনস্টল করা যায়।
- প্যাকেজ ম্যানেজার ব্যবহার করে ইনস্টল করতে পারেন (যেমন Homebrew বা APT) অথবা সোর্স কোড থেকে।
পদক্ষেপ ২: Thrift IDL ফাইল তৈরি করা
- IDL ফাইল তৈরি করুন:
- একটি ফাইল তৈরি করুন, উদাহরণস্বরূপ
calculator.thrift।
- একটি ফাইল তৈরি করুন, উদাহরণস্বরূপ
namespace py calculator // Python namespace
service CalculatorService {
i32 add(1: i32 num1, 2: i32 num2),
i32 subtract(1: i32 num1, 2: i32 num2)
}
পদক্ষেপ ৩: কোড জেনারেশন
- Thrift Compiler চালান:
- থ্রিফ কম্পাইলার ব্যবহার করে Python কোড জেনারেট করুন:
পদক্ষেপ ৪: সার্ভার বাস্তবায়ন
- সার্ভার কোড লিখুন:
- একটি ফাইল তৈরি করুন, উদাহরণস্বরূপ
server.py।
- একটি ফাইল তৈরি করুন, উদাহরণস্বরূপ
from thrift import Thrift
from thrift.transport import TTransport
from thrift.transport import TSocket
from thrift.protocol import TBinaryProtocol
from calculator import CalculatorService
class CalculatorServiceHandler:
def add(self, num1, num2):
return num1 + num2
def subtract(self, num1, num2):
return num1 - num2
def main():
handler = CalculatorServiceHandler()
processor = CalculatorService.Processor(handler)
transport = TSocket.TServerSocket(host='127.0.0.1', port=9090)
tfactory = TTransport.TBufferedTransportFactory()
pfactory = TBinaryProtocol.TBinaryProtocolFactory()
server = TServer.TSimpleServer(processor, transport, tfactory, pfactory)
print("Starting the server...")
server.serve()
if __name__ == '__main__':
main()
পদক্ষেপ ৫: ক্লায়েন্ট বাস্তবায়ন
- ক্লায়েন্ট কোড লিখুন:
- একটি ফাইল তৈরি করুন, উদাহরণস্বরূপ
client.py।
- একটি ফাইল তৈরি করুন, উদাহরণস্বরূপ
from thrift import Thrift
from thrift.transport import TTransport
from thrift.transport import TSocket
from thrift.protocol import TBinaryProtocol
from calculator import CalculatorService
def main():
transport = TSocket.TSocket('127.0.0.1', 9090)
tfactory = TTransport.TBufferedTransportFactory()
pfactory = TBinaryProtocol.TBinaryProtocolFactory()
transport = tfactory.getTransport(transport)
protocol = pfactory.getProtocol(transport)
client = CalculatorService.Client(protocol)
try:
transport.open()
num1 = 10
num2 = 5
print("Add:", client.add(num1, num2))
print("Subtract:", client.subtract(num1, num2))
finally:
transport.close()
if __name__ == '__main__':
main()
পদক্ষেপ ৬: সার্ভার এবং ক্লায়েন্ট চালানো
সার্ভার চালান:
python server.py
ক্লায়েন্ট চালান:
python client.py
সারসংক্ষেপ
এই পদক্ষেপগুলি অনুসরণ করে, আপনি Apache Thrift ব্যবহার করে একটি সরল সার্ভার এবং ক্লায়েন্ট প্রজেক্ট তৈরি করেছেন। সার্ভারটি দুইটি গণনা কার্যক্রম (যোগফল এবং বিয়োগফল) সম্পাদন করে এবং ক্লায়েন্টটি সার্ভারের সাথে সংযুক্ত হয়ে এই কার্যক্রমগুলি কল করে। Thrift-এর মাধ্যমে আপনি বিভিন্ন প্রোগ্রামিং ভাষার মধ্যে কার্যকরী যোগাযোগ স্থাপন করতে পারেন।
Read more