এজ প্রাইভেট ক্লাউডের একটি অন-প্রিমিসেস ইনস্টলেশন, বা একটি এজ ইনস্ট্যান্স, সার্ভার নোডের একটি সেটে ইনস্টল করা একাধিক এজ উপাদান নিয়ে গঠিত। নিম্নলিখিত চিত্রটি গ্রহ, অঞ্চল, পড, সংস্থা, পরিবেশ এবং ভার্চুয়াল হোস্টগুলির মধ্যে সম্পর্ক দেখায় যা একটি এজ উদাহরণ তৈরি করে:
নিম্নলিখিত সারণী এই সম্পর্কগুলি বর্ণনা করে:
কম্পোনেন্ট | ধারণ করে | সাথে যুক্ত | ডিফল্ট |
---|---|---|---|
গ্রহ | এক বা একাধিক অঞ্চল | n/a | |
অঞ্চল | এক বা একাধিক শুঁটি | "dc-1" | |
পড | এক বা একাধিক এজ উপাদান | "কেন্দ্রীয়" "গেটওয়ে" "বিশ্লেষণ" | |
সংগঠন | এক বা একাধিক পরিবেশ | মেসেজ প্রসেসর সমন্বিত এক বা একাধিক পড এবং অর্গ প্রশাসক হিসেবে কাজ করা একজন ব্যবহারকারী | কোনটি |
পরিবেশ | এক বা একাধিক ভার্চুয়াল হোস্ট | মূল সংস্থার সাথে যুক্ত একটি পডে এক বা একাধিক বার্তা প্রসেসর | কোনটি |
ভার্চুয়াল হোস্ট | এক বা একাধিক হোস্ট উপনাম | কোনটি |
গ্রহ সম্পর্কে
একটি গ্রহ একটি সম্পূর্ণ এজ হার্ডওয়্যার এবং সফ্টওয়্যার পরিবেশের প্রতিনিধিত্ব করে এবং এতে এক বা একাধিক অঞ্চল থাকতে পারে। এজ-এ, একটি গ্রহ হল অঞ্চলগুলির একটি লজিক্যাল গ্রুপিং: আপনি এজ ইনস্টল করার অংশ হিসাবে স্পষ্টভাবে একটি গ্রহ তৈরি বা কনফিগার করবেন না।
অঞ্চল সম্পর্কে
একটি অঞ্চল হল এক বা একাধিক শুঁটির সমষ্টি। ডিফল্টরূপে, যখন আপনি এজ ইনস্টল করেন, তখন ইনস্টলার তিনটি পড সমন্বিত "dc-1" নামে একটি একক অঞ্চল তৈরি করে, যেমনটি নিম্নলিখিত টেবিলটি দেখায়:
অঞ্চল | অঞ্চলে শুঁটি |
---|---|
"dc-1" | "গেটওয়ে", "কেন্দ্রীয়", "বিশ্লেষণ" |
নিম্নলিখিত চিত্রটি ডিফল্ট অঞ্চলগুলি দেখায়:
এই চিত্রটি লোড ব্যালেন্সার দেখায় যা "গেটওয়ে" পডে ট্রাফিককে নির্দেশ করে। "গেটওয়ে" পডে এজ রাউটার এবং মেসেজ প্রসেসর উপাদান রয়েছে যা API অনুরোধগুলি পরিচালনা করে। আপনি একাধিক ডেটা সেন্টার সংজ্ঞায়িত না করলে, আপনাকে অতিরিক্ত অঞ্চল তৈরি করতে হবে না।
আরও জটিল ইনস্টলেশনে, আপনি দুই বা ততোধিক অঞ্চল তৈরি করতে পারেন। একাধিক অঞ্চল তৈরি করার একটি কারণ হল ভৌগলিকভাবে মেশিনগুলিকে সংগঠিত করা, যা নেটওয়ার্ক ট্রানজিট সময়কে কম করে। এই পরিস্থিতিতে, আপনি API এন্ডপয়েন্ট হোস্ট করেন যাতে তারা ভৌগলিকভাবে সেই API-এর গ্রাহকদের কাছাকাছি থাকে।
এজ-এ, প্রতিটি অঞ্চলকে ডেটা সেন্টার হিসাবে উল্লেখ করা হয়। পূর্ব মার্কিন যুক্তরাষ্ট্রের একটি ডেটা সেন্টার তখন বোস্টন, ম্যাসাচুসেটস থেকে আগত অনুরোধগুলি পরিচালনা করতে পারে, যখন সিঙ্গাপুরের একটি ডেটা সেন্টার এশিয়ার ডিভাইস বা কম্পিউটার থেকে উদ্ভূত অনুরোধগুলি পরিচালনা করতে পারে।
উদাহরণস্বরূপ, নিম্নলিখিত চিত্রটি দুটি ডেটা কেন্দ্রের সাথে সম্পর্কিত দুটি অঞ্চল দেখায়:
শুঁটি সম্পর্কে
একটি পড হল এক বা একাধিক এজ উপাদান এবং ক্যাসান্ড্রা ডেটাস্টোরের একটি গ্রুপিং। এজ উপাদানগুলি একই নোডে ইনস্টল করা যেতে পারে, তবে সাধারণত বিভিন্ন নোডে ইনস্টল করা হয়। একটি ক্যাসান্দ্রা ডেটাস্টোর হল একটি ডেটা ভান্ডার যা পডের এজ উপাদান দ্বারা ব্যবহৃত হয়।
ডিফল্টরূপে, আপনি যখন এজ ইনস্টল করেন, তখন ইনস্টলার তিনটি পড তৈরি করে এবং প্রতিটি পডের সাথে নিম্নলিখিত এজ উপাদান এবং ক্যাসান্ড্রা ডেটাস্টোরগুলিকে সংযুক্ত করে:
পড | প্রান্ত উপাদান | ক্যাসান্দ্রা ডেটাস্টোর | |
---|---|---|---|
"গেটওয়ে" | রাউটার, মেসেজ প্রসেসর | ক্যাশে-ডেটাস্টোর কাউন্টার-ডেটাস্টোর dc-ডেটাস্টোর | keyvaluemap-ডেটাস্টোর kms-ডেটাস্টোর |
"কেন্দ্রীয়" | ম্যানেজমেন্ট সার্ভার, জুকিপার, LDAP, UI, Qpid | অ্যাপ্লিকেশন-ডেটাস্টোর apimodel-datastore অডিট-ডেটাস্টোর auth-datastore | আইডেন্টিটিজোন-ডেটাস্টোর edgenotification-datastore ব্যবস্থাপনা সার্ভার সময়সূচী-ডেটাস্টোর ব্যবহারকারী-সেটিংস-ডেটাস্টোর |
"বিশ্লেষণ" | পোস্টগ্রেস | বিশ্লেষণ-ডেটাস্টোর | রিপোর্টক্রুড-ডেটাস্টোর |
এজ উপাদান এবং "গেটওয়ে" পডে ক্যাসান্ড্রা ডেটাস্টোরগুলি API প্রক্রিয়াকরণের জন্য প্রয়োজন৷ এপিআই অনুরোধগুলি প্রক্রিয়া করার জন্য এই উপাদানগুলি এবং ডেটাস্টোরগুলি অবশ্যই আপ এবং চলমান থাকতে হবে৷ "কেন্দ্রীয়" এবং "বিশ্লেষণ" পডের উপাদান এবং ডেটাস্টোরগুলির APIগুলি প্রক্রিয়া করার প্রয়োজন নেই, তবে এজে অতিরিক্ত কার্যকারিতা যুক্ত করুন৷
নিম্নলিখিত চিত্রটি প্রতিটি পডের উপাদানগুলি দেখায়:
আপনি ডিফল্টরূপে তৈরি করা তিনটিতে অতিরিক্ত বার্তা প্রসেসর এবং রাউটার পড যোগ করতে পারেন। বিকল্পভাবে, আপনি একটি বিদ্যমান পডে অতিরিক্ত এজ উপাদান যোগ করতে পারেন। উদাহরণস্বরূপ, বর্ধিত ট্রাফিক লোড সামলাতে আপনি "গেটওয়ে" পডে অতিরিক্ত রাউটার এবং মেসেজ প্রসেসর যোগ করতে পারেন।
লক্ষ্য করুন যে "গেটওয়ে" পডে এজ রাউটার এবং মেসেজ প্রসেসরের উপাদান রয়েছে। রাউটার শুধুমাত্র একই পডের মেসেজ প্রসেসরের কাছে অনুরোধ পাঠায় এবং অন্য পডের মেসেজ প্রসেসরকে নয়।
আপনি প্রতিটি পডের জন্য ইনস্টলেশন শেষে সার্ভার নিবন্ধন বিবরণ দেখতে নিম্নলিখিত API কল ব্যবহার করতে পারেন। এটি একটি দরকারী পর্যবেক্ষণ টুল.
curl -u adminEmail:pword http://ms_IP:8080/v1/servers?pod=podName
যেখানে ms_IP হল ম্যানেজমেন্ট সার্ভারের IP ঠিকানা বা DNS নাম, এবং podName নিম্নলিখিতগুলির মধ্যে একটি:
-
gateway
-
central
-
analytics
উদাহরণস্বরূপ, "গেটওয়ে" পডের জন্য:
curl -u adminEmail:pword http://ms_IP:8080/v1/servers?pod=gateway
Apigee নিম্নলিখিত অনুরূপ আউটপুট প্রদান করে:
[ { "externalHostName" : "localhost", "externalIP" : "192.168.1.11", "internalHostName" : "localhost", "internalIP" : "192.168.1.11", "isUp" : true, "pod" : "gateway", "reachable" : true, "region" : "dc-1", "tags" : { "property" : [ { "name" : "jmx.rmi.port", "value" : "1101" }, ... ] }, "type" : [ "message-processor" ], "uUID" : "276bc250-7dd0-46a5-a583-fd11eba786f8" }, { "internalIP" : "192.168.1.11", "isUp" : true, "pod" : "gateway", "reachable" : true, "region" : "dc-1", "tags" : { "property" : [ ] }, "type" : [ "dc-datastore", "management-server", "cache-datastore", "keyvaluemap-datastore", "counter-datastore", "kms-datastore" ], "uUID" : "13cee956-d3a7-4577-8f0f-1694564179e4" }, { "externalHostName" : "localhost", "externalIP" : "192.168.1.11", "internalHostName" : "localhost", "internalIP" : "192.168.1.11", "isUp" : true, "pod" : "gateway", "reachable" : true, "region" : "dc-1", "tags" : { "property" : [ { "name" : "jmx.rmi.port", "value" : "1100" }, ... ] }, "type" : [ "router" ], "uUID" : "de8a0200-e405-43a3-a5f9-eabafdd990e2" } ]
type
অ্যাট্রিবিউট উপাদানের ধরন তালিকাভুক্ত করে। মনে রাখবেন যে এটি পডে নিবন্ধিত ক্যাসান্দ্রা ডেটাস্টোরের তালিকা করে। যখন ক্যাসান্দ্রা নোডগুলি "গেটওয়ে" পডে ইনস্টল করা থাকে, আপনি দেখতে পাবেন ক্যাসান্দ্রা ডেটাস্টোরগুলি সমস্ত পডের সাথে নিবন্ধিত৷
প্রতিষ্ঠান সম্পর্কে
একটি সংস্থা হল API, API পণ্য, অ্যাপ এবং ডেভেলপার সহ Apigee অ্যাকাউন্টের সমস্ত বস্তুর জন্য একটি ধারক। একটি সংস্থা এক বা একাধিক পডের সাথে যুক্ত, যেখানে প্রতিটি পডকে অবশ্যই এক বা একাধিক বার্তা প্রসেসর থাকতে হবে।
এজ প্রাইভেট ক্লাউডের একটি অন-প্রিমিসেস ইনস্টলেশনে, ডিফল্টরূপে কোনও সংস্থা নেই। আপনি যখন একটি সংস্থা তৈরি করেন, তখন আপনি দুটি তথ্য উল্লেখ করেন:
- একজন ব্যবহারকারী যিনি প্রতিষ্ঠানের প্রশাসক হিসেবে কাজ করেন। সেই ব্যবহারকারী তারপর প্রতিষ্ঠানে অতিরিক্ত ব্যবহারকারী যোগ করতে পারেন এবং প্রতিটি ব্যবহারকারীর ভূমিকা সেট করতে পারেন।
- "গেটওয়ে" পড, বার্তা প্রসেসর ধারণকারী পড।
একটি প্রতিষ্ঠান এক বা একাধিক পরিবেশ ধারণ করতে পারে। ডিফল্ট এজ ইনস্টলেশন পদ্ধতি আপনাকে দুটি পরিবেশ তৈরি করতে অনুরোধ করে: "পরীক্ষা" এবং "প্রোড"। যাইহোক, আপনি প্রয়োজন অনুসারে আরও পরিবেশ তৈরি করতে পারেন, যেমন "মঞ্চায়ন", "পরীক্ষা" ইত্যাদি।
সংস্থা কিছু Apigee ক্ষমতার সুযোগ প্রদান করে। উদাহরণস্বরূপ, কী-মান-ম্যাপ (KVM) ডেটা প্রতিষ্ঠান স্তরে পাওয়া যায়, যার অর্থ সমস্ত পরিবেশ থেকে। অন্যান্য ক্ষমতা, যেমন ক্যাশে, একটি নির্দিষ্ট পরিবেশে স্কোপ করা হয়। Apigee বিশ্লেষণ ডেটা সংগঠন এবং পরিবেশের সমন্বয় দ্বারা বিভাজন করা হয়।
নীচে একটি সংস্থার প্রধান বস্তুগুলি দেখানো হয়েছে, যার মধ্যে সংগঠনে বিশ্বব্যাপী সংজ্ঞায়িত এবং পরিবেশের জন্য বিশেষভাবে সংজ্ঞায়িত করা হয়েছে:
পরিবেশ সম্পর্কে
একটি প্রতিষ্ঠানের API প্রক্সিগুলির জন্য একটি পরিবেশ হল একটি রানটাইম এক্সিকিউশন প্রসঙ্গ। এটি অ্যাক্সেস করার আগে আপনাকে একটি পরিবেশে একটি API প্রক্সি স্থাপন করতে হবে৷ আপনি একটি একক পরিবেশে বা একাধিক পরিবেশে একটি API প্রক্সি স্থাপন করতে পারেন।
একটি প্রতিষ্ঠান একাধিক পরিবেশ ধারণ করতে পারে। উদাহরণস্বরূপ, আপনি একটি প্রতিষ্ঠানে একটি "dev", "পরীক্ষা", এবং "prod" পরিবেশ সংজ্ঞায়িত করতে পারেন।
আপনি যখন একটি পরিবেশ তৈরি করেন, আপনি এটি এক বা একাধিক বার্তা প্রসেসরের সাথে যুক্ত করেন। আপনি একটি পরিবেশকে বার্তা প্রসেসরের একটি নামযুক্ত সেট হিসাবে ভাবতে পারেন যার উপর API প্রক্সিগুলি চলে। প্রতিটি পরিবেশ একই বার্তা প্রসেসরের সাথে বা বিভিন্নগুলির সাথে যুক্ত হতে পারে।
একটি পরিবেশ তৈরি করতে, তথ্যের দুটি অংশ নির্দিষ্ট করুন:
- পরিবেশ সম্বলিত সংগঠন।
- বার্তা প্রসেসর যা পরিবেশে API প্রক্সি অনুরোধগুলি পরিচালনা করে। এই বার্তা প্রসেসরগুলি অবশ্যই পরিবেশের মূল সংস্থার সাথে যুক্ত একটি পডে থাকতে হবে৷
ডিফল্টরূপে, আপনি যখন একটি পরিবেশ তৈরি করেন, তখন এজ "গেটওয়ে" পডের সমস্ত উপলব্ধ বার্তা প্রসেসরকে পরিবেশের সাথে সংযুক্ত করে। বিকল্পভাবে, আপনি উপলব্ধ বার্তা প্রসেসরগুলির একটি উপসেট নির্দিষ্ট করতে পারেন যাতে বিভিন্ন বার্তা প্রসেসর বিভিন্ন পরিবেশে অনুরোধগুলি পরিচালনা করে।
একটি বার্তা প্রসেসর একাধিক পরিবেশের সাথে যুক্ত হতে পারে। উদাহরণস্বরূপ, আপনার এজ ইন্সটলেশনে দুটি মেসেজ প্রসেসর রয়েছে: A এবং B। তারপর আপনি আপনার প্রতিষ্ঠানে তিনটি পরিবেশ তৈরি করবেন: "dev", "test" এবং "prod":
- "dev" পরিবেশের জন্য, আপনি বার্তা প্রসেসর A যুক্ত করেন কারণ আপনি প্রচুর পরিমাণে ট্রাফিক আশা করেন না।
- "পরীক্ষা" পরিবেশের জন্য, আপনি বার্তা প্রসেসর B যুক্ত করেন কারণ আপনি প্রচুর পরিমাণে ট্রাফিক আশা করেন না।
- "প্রোড" পরিবেশের জন্য, আপনি উত্পাদন-স্তরের ভলিউম পরিচালনা করতে বার্তা প্রসেসর A এবং B উভয়কে সংযুক্ত করেন।
একটি পরিবেশের জন্য নির্ধারিত বার্তা প্রসেসরগুলি একই পড থেকে হতে পারে, বা একাধিক পড থেকে হতে পারে, একাধিক অঞ্চল এবং ডেটা সেন্টারে বিস্তৃত। উদাহরণস্বরূপ, আপনি আপনার প্রতিষ্ঠানের পরিবেশ "গ্লোবাল" সংজ্ঞায়িত করেন যাতে তিনটি অঞ্চলের মেসেজ প্রসেসর অন্তর্ভুক্ত থাকে, যার অর্থ তিনটি ভিন্ন ডেটা সেন্টার: মার্কিন যুক্তরাষ্ট্র, জাপান এবং জার্মানি৷
"গ্লোবাল" পরিবেশে একটি API প্রক্সি স্থাপন করার ফলে API প্রক্সি তিনটি ডেটা সেন্টারের সবকটিতে মেসেজ প্রসেসরে চালানো হয়। সেই ডাটা সেন্টারগুলির যে কোনও একটিতে রাউটারে আগত API ট্র্যাফিক শুধুমাত্র সেই ডেটা সেন্টারের মেসেজ প্রসেসরের কাছে নির্দেশিত হবে কারণ রাউটারগুলি শুধুমাত্র একই পডের মেসেজ প্রসেসরগুলিতে ট্র্যাফিক পরিচালনা করে।
ভার্চুয়াল হোস্ট সম্পর্কে
একটি ভার্চুয়াল হোস্ট এজ রাউটারের পোর্টকে সংজ্ঞায়িত করে যেখানে একটি API প্রক্সি উন্মুক্ত করা হয়, এবং এক্সটেনশনের মাধ্যমে, অ্যাপগুলি API প্রক্সি অ্যাক্সেস করতে ব্যবহার করে URLটি। প্রতিটি পরিবেশের অন্তত একটি ভার্চুয়াল হোস্ট সংজ্ঞায়িত করা আবশ্যক।
ভার্চুয়াল হোস্ট দ্বারা নির্দিষ্ট করা পোর্ট নম্বর রাউটার নোডে খোলা আছে তা নিশ্চিত করুন। তারপরে আপনি নিম্নলিখিত URLগুলিতে একটি অনুরোধ করে একটি API প্রক্সি অ্যাক্সেস করতে পারেন:
http://routerIP:port/proxy-base-path/resource-name https://routerIP:port/proxy-base-path/resource-name
কোথায়:
-
http
বাhttps
: ভার্চুয়াল হোস্ট টিএলএস/এসএসএল সমর্থন করার জন্য কনফিগার করা থাকলে, HTTPS ব্যবহার করুন। ভার্চুয়াল হোস্ট TLS/SSL সমর্থন না করলে, HTTP ব্যবহার করুন। - routerIP:port হল ভার্চুয়াল হোস্টের আইপি ঠিকানা এবং পোর্ট নম্বর।
- proxy-base-path এবং resource-name সংজ্ঞায়িত করা হয় যখন আপনি API প্রক্সি তৈরি করেন।
সাধারণত, আপনি একটি IP ঠিকানা এবং পোর্ট নম্বর সহ গ্রাহকদের কাছে আপনার API প্রকাশ করেন না। পরিবর্তে, আপনি রাউটার এবং পোর্টের জন্য একটি DNS এন্ট্রি সংজ্ঞায়িত করুন। যেমন:
http://myAPI.myCo.com/proxy-base-path/resource-name https://myAPI.myCo.com/proxy-base-path/resource-name
আপনাকে অবশ্যই ভার্চুয়াল হোস্টের জন্য একটি হোস্ট উপনাম তৈরি করতে হবে যা DNS এন্ট্রির ডোমেন নামের সাথে মেলে। উপরের উদাহরণ থেকে, আপনি myAPI.myCo.com এর একটি হোস্ট উপনাম নির্দিষ্ট করবেন। আপনার যদি DNS এন্ট্রি না থাকে, তাহলে রাউটারের IP ঠিকানা এবং ভার্চুয়াল হোস্টের পোর্টে হোস্ট উপনাম সেট করুন, routerIP:port হিসাবে।
আরও তথ্যের জন্য, ভার্চুয়াল হোস্ট সম্পর্কে দেখুন।
আপনার প্রথম সংস্থা, পরিবেশ এবং ভার্চুয়াল হোস্ট তৈরি করা
আপনি এজ ইনস্টলেশন প্রক্রিয়াটি সম্পূর্ণ করার পরে, আপনার প্রথম কাজটি সাধারণত "অনবোর্ডিং" প্রক্রিয়ার মাধ্যমে একটি সংস্থা, পরিবেশ এবং ভার্চুয়াল হোস্ট তৈরি করা। অনবোর্ডিং করতে, এজ ম্যানেজমেন্ট সার্ভার নোডে নিম্নলিখিত কমান্ডটি চালান:
/opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile
এই কমান্ডটি একটি কনফিগার ফাইল ইনপুট হিসাবে নেয় যা ব্যবহারকারী, সংস্থা, পরিবেশ এবং ভার্চুয়াল হোস্টকে সংজ্ঞায়িত করে।
উদাহরণস্বরূপ, আপনি তৈরি করুন:
- প্রতিষ্ঠানের প্রশাসক হিসেবে কাজ করার জন্য আপনার পছন্দের একজন ব্যবহারকারী
-
example
নামে একটি সংস্থা -
prod
নামের প্রতিষ্ঠানের একটি পরিবেশ যা "গেটওয়ে" পডের সমস্ত মেসেজ প্রসেসরের সাথে যুক্ত -
default
নামে পরিবেশে একটি ভার্চুয়াল হোস্ট যা পোর্ট 9001-এ HTTP অ্যাক্সেসের অনুমতি দেয় - ভার্চুয়াল হোস্টের জন্য হোস্ট উপনাম
সেই স্ক্রিপ্টটি চালানোর পরে, আপনি ফর্মটিতে একটি URL ব্যবহার করে আপনার APIগুলি অ্যাক্সেস করতে পারেন:
http://routerIP:9001/proxy-base-path/resource-name
আপনি পরে যেকোন সংখ্যক সংস্থা, পরিবেশ এবং ভার্চুয়াল হোস্ট যোগ করতে পারেন।
আরও তথ্যের জন্য, অনবোর্ড একটি সংস্থা দেখুন।