আক্কার জন্য ভাল ব্যবহারের ক্ষেত্রে [বন্ধ]


605

আমি আক্কা কাঠামো (জাভা / স্কালা পরিষেবা প্ল্যাটফর্ম) সম্পর্কে প্রচুর তাড়না শুনেছি , তবে এখনও পর্যন্ত এটি ব্যবহারের ক্ষেত্রে খুব ভাল উদাহরণ দেখা যায় নি। সুতরাং আমি বিকাশকারীরা এটি সফলভাবে ব্যবহার করেছে এমন জিনিসগুলি সম্পর্কে শুনতে আগ্রহী।

শুধুমাত্র একটি সীমাবদ্ধতা: দয়া করে চ্যাট সার্ভার লেখার ক্ষেত্রে অন্তর্ভুক্ত করবেন না। (কেন? যেহেতু এটি প্রচুর অনুরূপ জিনিসের উদাহরণ হিসাবে অতিরিক্ত ব্যবহার করা হয়েছে)


10
সমস্যাটি শুরু করা এবং সমাধান প্রয়োগ করা এবং সমস্যাটি প্রয়োগ করার জন্য দেখার চেয়ে সমস্যার সমাধান শুরু করা কি সহজ নয়? আমার অনুমান যে আরএমআই ব্যবহার করার পরিবর্তে, আক্কা এবং এর অভিনেতারা কোড লিখতে অনেক সহজ / সহজ দেখায়।
কেনেট

67
হ্যাঁ, সমাধান করার জন্য আমার যদি নির্দিষ্ট সমস্যা হয়। আমি কোনও উপায়ে "আক্কা ব্যবহারের অজুহাত" খুঁজছি না, তবে আমি আরও কিছুটা শিখতে আগ্রহী। এটি ভবিষ্যতের সমস্যাগুলি সমাধানেও সহায়তা করতে পারে তবে বেশিরভাগই এটি চলমান শেখার প্রক্রিয়াটির জন্য।
স্টেক্সম্যান

সম্পর্কিত প্রশ্ন রয়েছে তবে বিদ্যমান অ্যাপ্লিকেশনটির জন্য একেবিএ প্রয়োগ সম্পর্কে + কিছু ব্যবহারের ক্ষেত্রে: স্ট্যাকওভারফ্লো
সেস

2
আক্কা জেএমএস বা এমকিউ-স্টাইল বিতরণকৃত ম্যাসেজেজ সারি সিস্টেমের থেকে ভাল সমাধান। আমার কাছে এটি বোঝার সর্বোত্তম উপায় যিনি সম্প্রতি ঠিক একই প্রশ্নটি জিজ্ঞাসা করেছিলেন: "আমি কীভাবে এটি ব্যবহার করতে পারি এবং কোথায় এটি ব্যবহার করতে পারি তা আমি বুঝতে পারি, তবে এটি কোথায় আসল সুবিধা প্রদান করবে তা আমি দেখতে পাচ্ছি না"। আক্কার পিছনে মূল নকশা অনুমানগুলি জেএমএস / এমকিউ এর পিছনের তুলনায় অনেক ভাল, বিশেষত প্রক্রিয়া বিচ্ছিন্নতা, লক-কম ডিজাইন এবং পুনরায় চেষ্টা / ব্যর্থতা পরিচালনার বিষয়ে। দ্বিতীয়ত, জেএমএস / এমকিউ সরঞ্জামগুলির চেয়ে এপিআই অনেক বেশি মার্জিত।
ব্যবহারকারী2684301

2
@ ব্যবহারকারী2684301 এইচএমএইচএইচ। আমি উত্তরটি কিছুটা অন্যায় বলে মনে করি, আপেল থেকে কমলা পথে। এমকিউগুলি হ'ল (যৌক্তিকভাবে) সাধারণ বিল্ডিং ব্লক যা আককার চেয়ে অনেক কম কাজ করে এবং আমি পাশাপাশি পাশাপাশি তাদের তুলনা করব না। তবে আমি অনুমান করি যে আমি যদি এটি "জেএমএস ব্যবহার করে নির্মিত বিতরণ ব্যবস্থাগুলির সাথে তুলনামূলকভাবে লিখিত" হিসাবে পড়ি তবে এটি আরও অর্থবোধ করতে চাই।
স্টেক্সম্যান 20

উত্তর:


321

আমি এখন পর্যন্ত দুটি বাস্তব প্রকল্পে এটি খুব সফলভাবে ব্যবহার করেছি। উভয়ই নিকটবর্তী রিয়েল-টাইম ট্র্যাফিক তথ্য ক্ষেত্রে (হাইওয়েতে গাড়ীর মতো ট্র্যাফিক) বেশ কয়েকটি নোডের উপরে বিতরণ করা হয়েছে, বেশ কয়েকটি পক্ষের মধ্যে বার্তা একীকরণযোগ্য, নির্ভরযোগ্য ব্যাকএন্ড সিস্টেম। আমি এখনও ক্লায়েন্টদের বিষয়ে সুনির্দিষ্ট বিবরণ দেওয়ার স্বাধীনতা পাচ্ছি না, যখন আমি ঠিক পাই তখন সম্ভবত এটি একটি রেফারেন্স হিসাবে যুক্ত করা যেতে পারে।

আক্কা সত্যিই সেই প্রকল্পগুলি দেখেছে, যদিও এটি শুরু হয়েছিল যখন এটি 0.7 সংস্করণে ছিল। (আমরা উপায় দ্বারা স্কালার ব্যবহার করছি)

এর একটি বড় সুবিধা হ'ল স্বাচ্ছন্দ্যে আপনি অভিনেতা এবং বার্তাগুলির বাইরে কোনও সিস্টেম তৈরি করতে পারবেন যা প্রায় কোনও বয়লারপ্লাইটিং সহ নয়, এটি হাত-ঘূর্ণিত থ্রেডিংয়ের সমস্ত জটিলতা ছাড়াই অত্যন্ত ভালভাবে স্কেল করে এবং আপনি প্রায় বিনামূল্যে বিনামূল্যে অবজেক্টের মধ্যে অ্যাসিঙ্ক্রোনাস বার্তা পেয়ে যাবেন।

যে কোনও ধরণের অ্যাসিনক্রোনাস মেসেজ হ্যান্ডলিংয়ের মডেলিংয়ে এটি খুব ভাল। আমি অন্য স্টাইলের চেয়ে এই ধরণের যেকোন ধরণের (ওয়েব) পরিষেবা সিস্টেম লিখতে পছন্দ করব। (আপনি কি কখনও JAX-WS এর সাথে একটি অ্যাসিনক্রোনাস ওয়েব সার্ভিস (সার্ভার সাইড) লেখার চেষ্টা করেছেন? এটি অনেকটা নদীর গভীরতানির্ণয়)। সুতরাং আমি বলব যে কোনও সিস্টেম যা এর কোনও একটিতে ঝুলতে চায় না কারণ সবকিছুকে সুস্পষ্টভাবে সিঙ্ক্রোনাস পদ্ধতি ব্যবহার করে বলা হয় এবং সেই উপাদানটি কোনও কিছুতে লক করে। এটি অত্যন্ত স্থিতিশীল এবং ব্যর্থতার জন্য সুপারভাইজারের সমাধানটি খুব কার্যকর works প্রোগ্রামগতভাবে সেটআপ করা সহজ এবং ইউনিট পরীক্ষার পক্ষে শক্ত নয়।

তারপরে দুর্দান্ত অ্যাড-অন মডিউল রয়েছে। উট মডিউলটি সত্যই আক্কায় ভালভাবে প্লাগ ইন করে এবং কনফিগারযোগ্য শেষ পয়েন্ট সহ অ্যাসিক্রোনাস পরিষেবাদির এত সহজ বিকাশ সক্ষম করে।

আমি কাঠামোর সাথে খুব খুশি এবং এটি আমরা সংযুক্ত সিস্টেমগুলির জন্য এটি একটি ডিফাক্টো স্ট্যান্ডার্ড হয়ে উঠছে।


14
আপনার মতে বার্তা প্রেরণের জন্য কোনও বার্তা ব্যাকএন্ড (উদাহরণস্বরূপ অ্যাক্টিভিউকিউ) ব্যবহারের তুলনায় এই পদ্ধতির সুবিধা কী?
ম্যাজিকনায়ার

27
এমকিউ পণ্যগুলি সত্যই আলাদা ব্যবহারের ক্ষেত্রে হয়। বিভিন্ন গ্যারান্টি এবং খুব ভিন্ন কর্মক্ষমতা। এমকিউ পণ্যগুলিকে প্রচুর সেটআপ প্রয়োজন, আপনি যেমন পণ্যগুলিতে যেমন পণ্য ব্যবহার করেন ঠিক তেমন পণ্যগুলিতে সারি ব্যবহার করবেন না। অভিনেতা আক্কায় প্রথম শ্রেণীর নাগরিক, আপনি যেমনটি ব্যবহার করেন ঠিক তেমনই আপনি তাদের ব্যবহার করুন, সুতরাং সেটআপের মতো আপনার প্রোগ্রামিং মডেলে উভয়ই ওভারহেডের কম। এমকিউ পণ্য আপনি অন্যান্য বাহ্যিক সিস্টেমের সাথে সংহত করার জন্য আরও বেশি ব্যবহার করবেন, কোনও সিস্টেমের 'ইন্টার্নাল' তৈরির জন্য নয়, যা আপনি অভিনেতাদের ব্যবহার করবেন is
রেমন্ড রোস্টেনবার্গ

26
ডিবিপি কেস স্টাডির জন্য নতুন ইউআরএল হ'ল ডাউনলোডগুলি
বাস

2
@ রেমন্ডরোয়েস্টেনবার্গ পুনর্নির্মাণ: এমকিউ সিস্টেম এবং বিকল্পগুলি। RabbitMQ, উদাহরণস্বরূপ, নির্মিত হয় উপর একজন অভিনেতা-ভিত্তিক প্রোগ্রামিং ভাষা, Erlang। অভিনেতা এবং এমকিউয়ের মধ্যে সম্পর্ক (এবং পার্থক্য) সম্পর্কে চিন্তা করার এক উপায় এটি। এদিকে অ্যাপাচি স্পার্ক না কর্মী-সারি এবং না অভিনেতাভিত্তিক , তবে বিউটি আককার সাথে ব্যবহার করা যেতে পারে: টাইপসেইফ কীভাবে আককার সাথে স্পার্ক স্ট্রিমিং ব্যবহার করবেন তা প্রদর্শন করে
ড্রিফ্যাচ্যাচার

6
@ রেমন্ডরোয়েস্টেনবার্গ আপনি উল্লেখ করতে অবহেলিত যে অভিনেতা মডেল হিসাবে স্প্যাগেটি জাতীয় কাঠামো প্রচার করে। আপনার লেখা "আক্কা ইন অ্যাকশন" বইটি এই "বৈশিষ্ট্য "টির জন্য সেরা প্রদর্শন। কোড উদাহরণগুলি মোটামুটি মৌলিক গল্পগুলির সাথে সম্পর্কিত। তবুও কর্মপ্রবাহটি কোড থেকে অনুধাবন করা এবং অনুসরণ করা খুব কঠিন। সম্পর্কিত সমস্যা হ'ল আক্কা কোডটি আপনার ব্যবসায়িক যুক্তি জুড়ে আপনি যে কল্পনা করতে পারেন তার মধ্যে সবচেয়ে ব্যাঘাতজনক উপায়ে IRREVERSIBLY হবে। অন্য কোনও অভিনেতা কাঠামোর চেয়ে অনেক বেশি। এটি একটি পৃথক বিভাগে বিচ্ছিন্ন না করে একটি মৌলিক কর্মপ্রবাহ লিখতে কেবল অসম্ভব।
আবিষ্ট

222

দাবি অস্বীকার: আমি আককার পিও

সমঝোতা স্মারগাসবার্ড দেওয়ার পাশাপাশি যুক্তি দেওয়া এবং সঠিক হওয়া (অভিনেতা, এজেন্টস, ডেটাফ্লো সমঝোতা) এবং এসটিএম আকারে সম্মতিযুক্ত নিয়ন্ত্রণের সাথে অনেক সহজ offering

আপনি বিবেচনা করতে পারেন কিছু ব্যবহারের ক্ষেত্রে এখানে:

  1. লেনদেন প্রক্রিয়াজাতকরণ (অনলাইন গেমিং, অর্থ, পরিসংখ্যান, বাজি, সোশ্যাল মিডিয়া, টেলিকম, ...)
    • স্কেল আপ, স্কেল আউট, দোষ-সহনশীলতা / এইচএ
  2. পরিষেবা ব্যাকএন্ড (যে কোনও শিল্প, যে কোনও অ্যাপ্লিকেশন)
    • পরিষেবা রেস্ট, এসওএপি, কমেড ইত্যাদি
    • বার্তা হাব / ইন্টিগ্রেশন স্তর হিসাবে কাজ করুন
    • স্কেল আপ, স্কেল আউট, দোষ-সহনশীলতা / এইচএ
  3. স্ন্যাপ-ইন সম্মতি / সমান্তরালতা (যে কোনও অ্যাপ্লিকেশন)
    • ঠিক
    • কাজ এবং বুঝতে সহজ
    • আপনার বিদ্যমান জেভিএম প্রকল্পে কেবল জারগুলি যুক্ত করুন (স্কালা, জাভা, গ্রোভি বা জেউবি ব্যবহার করুন)
  4. ব্যাচ প্রসেসিং (যে কোনও শিল্প)
    • ব্যাচের ডেটা উত্সগুলি সহ উটের সংহতকরণ
    • অভিনেতাগুলি ব্যাচের কাজের চাপগুলি ভাগ করে দেয় এবং জয় করে
  5. যোগাযোগের কেন্দ্র (টেলিকম, ওয়েব মিডিয়া, মোবাইল মিডিয়া)
    • স্কেল আপ, স্কেল আউট, দোষ-সহনশীলতা / এইচএ
  6. গেম সার্ভার (অনলাইন গেমিং, বাজি)
    • স্কেল আপ, স্কেল আউট, দোষ-সহনশীলতা / এইচএ
  7. বিআই / ডেটামাইনিং / সাধারণ উদ্দেশ্য ক্রাঞ্চিং
    • স্কেল আপ, স্কেল আউট, দোষ-সহনশীলতা / এইচএ
  8. অন্যান্য সুন্দর ব্যবহারের কেস এখানে sertোকান

10
আমি ফিউচার এবং এসটিএম এর সুবিধাগুলি বুঝতে পারি তবে অভিনেতাদের পক্ষে ভাল ব্যবহারের মামলা খুঁজে পাই না। কোনও গেম বা বাজি সার্ভারের জন্য, লোড ব্যালান্সারের পিছনে অভিনেতা বনাম একাধিক অ্যাপ্লিকেশন সার্ভারগুলি ব্যবহার করার সুবিধা কী?
মার্টিন কোনিসেক

8
@ ভিক্টরকলং পিওস! = টেক লিড। তারা একসাথে কাজ, তবে বিভিন্ন ভূমিকা।
টেলোরক্র্যাসি

79

আমরা এটি কীভাবে ব্যবহার করি তার একটি উদাহরণ ডেবিট / ক্রেডিট কার্ড লেনদেনের অগ্রাধিকার সারিতে থাকবে। আমাদের লক্ষ লক্ষ রয়েছে এবং কাজের চেষ্টা ইনপুট স্ট্রিংয়ের ধরণের উপর নির্ভর করে। যদি লেনদেনটি CHECK প্রকারের হয় তবে আমাদের খুব কম প্রসেসিং হয় তবে এটি যদি বিক্রয় কেন্দ্র হয় তবে মেটা ডেটা (বিভাগ, লেবেল, ট্যাগ, ইত্যাদির) সাথে একত্রীকরণ এবং পরিষেবা সরবরাহ (ইমেল / এসএমএস সতর্কতা, জালিয়াতি সনাক্তকরণ, কম তহবিলের ভারসাম্য ইত্যাদি)। ইনপুট টাইপের উপর ভিত্তি করে আমরা বিভিন্ন বৈশিষ্ট্যের ক্লাস রচনা করি (যাকে মিক্সিন বলা হয়) কাজটি পরিচালনা করার জন্য প্রয়োজনীয় এবং তারপরে কাজটি সম্পাদন করতে। এই সমস্ত চাকরি বিভিন্ন আর্থিক প্রতিষ্ঠান থেকে রিয়েলটাইম মোডে একই কাতারে আসে। ডেটা পরিষ্কার হওয়ার পরে এটি দৃ pers়তা, বিশ্লেষণ বা সকেট সংযোগে বা লিফট ধূমকেত অভিনেতার কাছে ধাক্কা দেওয়ার জন্য বিভিন্ন ডেটা স্টোরগুলিতে প্রেরণ করা হয়। কর্মী অভিনেতারা ক্রমাগত কাজের ভারসাম্য বজায় রাখে যাতে লোডগুলি যত দ্রুত সম্ভব প্রক্রিয়া করতে পারি। আমরা অতিরিক্ত পরিষেবাদি, জেদী মডেল এবং সমালোচনামূলক সিদ্ধান্ত পয়েন্ট জন্য।

জেভিএম এ পাস করা এরলং ওটিপি শৈলী বার্তা বিদ্যমান লাইব্রেরি এবং অ্যাপ্লিকেশন সার্ভারের কাঁধে রিয়েলটাইম সিস্টেম বিকাশের জন্য দুর্দান্ত ব্যবস্থা তৈরি করে makes

আক্কা আপনাকে প্রথাগতভাবে ম্যাসেজটি পাস করার অনুমতি দেয় তবে গতির সাথে! এটি আপনাকে আপনার সমাধানের জন্য প্রয়োজনীয় পরিমাণে অভিনেতা পুল, দূরবর্তী নোডগুলি এবং ত্রুটি সহিষ্ণুতা পরিচালনা করার জন্য ফ্রেমওয়ার্কে সরঞ্জাম দেয়।


1
সুতরাং এটি (কিছু) দীর্ঘ-বিলম্বিত অনুরোধগুলির ক্ষেত্রে, যেখানে অনুরোধের ভিত্তিতে একক থ্রেডটি ভালভাবে স্কেল হয় না তা কি ন্যায়সঙ্গত?
StaxMan

7
আমি মনে করি সাধারণভাবে অভিনেতা প্রোগ্রামিংয়ের গুরুত্বপূর্ণ অংশটি বার্তা প্রবাহ। একবার আপনি ডেটা প্রবাহে ধারণাগতকরণ শুরু করলেন যার পার্শ্ব প্রতিক্রিয়া নেই you আপনি কেবল চান নোড প্রতি যতটা সম্ভব প্রবাহ ঘটুক। এটি হাই পারফরম্যান্স কম্পিউটিংয়ের চেয়ে অনেক বেশি আলাদা ছিল যদি আপনি আধা সমজাতীয় কাজ করে থাকেন যা বার্তা প্রেরণ করে না এবং প্রক্রিয়া করতে দীর্ঘ সময় নেয় না। আমি মনে করি একজন অভিনেতা ভিত্তিক ফিবোনাচি বাস্তবায়ন একটি অত্যন্ত সীমাবদ্ধ উদাহরণ কারণ এটি অভিনেতাদের কেন ব্যবহার করতে হবে তা প্রদর্শন করে না তবে কেবল অভিনেতারা পঙ্গু হয়ে যান। ব্যবহারের ক্ষেত্রে ইভেন্ট-চালিত আর্কিটেকচারটি ভাবেন।
ওয়েড আর্নল্ড

4
ইভেন্ট পরিচালিত আর্কিটেকচার সমস্যা সম্পর্কে চিন্তাভাবনার এক ভিন্ন উপায়। আপনি যদি আক্কায় কোডিংয়ের কথা ভাবছেন তবে ম্যানিং থেকে অ্যালানিং ওটিপি-র অ্যাকশন পড়া ভাল reading আক্কায় অনেকগুলি কন্সট্রাক্টস এরলং ওটিপি দ্বারা প্রভাবিত হয়েছে এবং জোনাস বোনার আক্কা এপিআই যেভাবে তৈরি করেছিলেন তার জন্য এই বইটি আপনাকে নীতি দেয়। আক্কা একটি বড় পাহাড় যে আপনি দাঁড়িয়ে আছেন! যদি আপনার অভিনেতারা রাষ্ট্রীয় পরিবর্তনের মাধ্যমে অবিচল থাকে তবে আপনার কী 10 মিনিটের জন্য একটি দ্বিতীয় টেকসই লেখার দরকার আছে
ওয়েড আর্নল্ড

8
ওয়েড, আপনি কীভাবে বার্তা গ্যারান্টি পরিচালনা করবেন? আপনি উল্লেখ করেছেন: (ইমেল / এসএমএস সতর্কতা, জালিয়াতি সনাক্তকরণ, স্বল্প তহবিলের ভারসাম্য ইত্যাদি), আমি ধরে নিই যে এগুলি সম্ভবত দূরবর্তী অভিনেতাদের কাছে প্রেরণ করা হয়েছে? এই অপারেশনগুলি বাস্তবে ঘটেছিল তা আপনি কীভাবে নিশ্চিত করবেন? জালিয়াতির সতর্কতা প্রক্রিয়া করার সময় নোড ব্যর্থ হলে কী হবে? চিরতরে চলে গেছে? আপনার কি শেষ পর্যন্ত ধারাবাহিক ব্যবস্থা আছে যা এটিকে পরিষ্কার করে দেয়? ধন্যবাদ!
জেমস

2
ভাল প্রশ্ন জেমস। এটা সুস্পষ্ট যে এটি এমন একটি সিস্টেমে ফিট করে যেখানে জরুরীভাবে জবাব দেওয়ার দরকার নেই। উদাহরণস্বরূপ আপনি ক্রেডিট কার্ড বিলগুলি প্রক্রিয়া করতে পারেন; নিরূপণ; ইমেল প্রেরণ করুন ইত্যাদি আমি সত্যিই আশ্চর্য হয়েছি যে উত্তরগুলির প্রয়োজন হলে এই জিনিসগুলি (লেনদেন) কীভাবে পরিচালিত হয়। শেষে; যদি কোনও বহিরাগত (ইন্টারনেট ব্যবহারকারী; কল সেন্টার থেকে একজন প্রতিনিধি) থেকে অনুরোধ করা হয়; তিনি বা তিনি একটি উত্তর অপেক্ষা। আমি কীভাবে নিশ্চিত হতে পারি যে উপ টাস্কগুলি (যেগুলি async চালিত হয়) সম্পাদিত হয়; একটি এক্সএআর লেনদেনে যাতে আমি উত্তর ফেরত দিতে পারি?
কান ইয়ি

44

আমরা আঙ্কাকে অবিচ্ছিন্নভাবে আরআরইএসটি কলগুলি প্রক্রিয়া করতে ব্যবহার করি - একসাথে অ্যাসিঙ্ক ওয়েব সার্ভারের (নেটটি ভিত্তিক) সাথে আমরা নোড / সার্ভারে প্রদত্ত ব্যবহারকারীদের সংখ্যার উপর 10 গুণ উন্নতি অর্জন করতে পারি, প্রতি ব্যবহারকারীদের অনুরোধের মডেল অনুসারে traditionalতিহ্যগত থ্রেডের সাথে তুলনা করি।

এটি আপনার বসকে বলুন যে আপনার এডাব্লুএস হোস্টিং বিলটি 10 ​​এর ফ্যাক্টর দ্বারা কমে যাচ্ছে এবং এটি কোনও মস্তিষ্কের নয়! এইচ ... যদিও এটি অ্যামাজনকে বলবেন না ... :)


3
এবং আমি উল্লেখ করতে ভুলে গেছি যে আক্কা ফিউচারগুলির একাত্মিক প্রকৃতি, যা অনেক ক্লিনার সমান্তরাল কোডের ফলে আমাদের হাজার হাজার কোড রক্ষণাবেক্ষণে বাঁচিয়েছিল ...
পিয়োটরগা

8
আমি ধরে নিই যে কলগুলি উচ্চ-বিলম্বিত, কম থ্রুপুট? অন্যান্য সার্ভারগুলিতে কল করার মতো, প্রতিক্রিয়ার জন্য অপেক্ষা (প্রক্সি)?
স্টেক্সম্যান

38

আমরা আক্কাকে বড় আকারের টেলকো প্রকল্পে ব্যবহার করছি (দুর্ভাগ্যক্রমে আমি অনেকগুলি বিবরণ প্রকাশ করতে পারি না)। আক্কা অভিনেতারা একটি ওয়েব অ্যাপ্লিকেশন দ্বারা মোতায়েন করা হয় এবং দূরবর্তীভাবে অ্যাক্সেস করা হয়। এইভাবে, আমাদের গুগল প্রোটোবফারের উপর ভিত্তি করে একটি সরলীকৃত আরপিসি মডেল রয়েছে এবং আমরা আক্কা ফিউচারগুলি ব্যবহার করে সমান্তরালতা অর্জন করি। এখনও অবধি এই মডেল উজ্জ্বলতার সাথে কাজ করেছে। একটি নোট: আমরা জাভা এপিআই ব্যবহার করছি।


দয়া করে আমাদের আরও কিছু বলতে পারেন? আফাইক ফিউচারগুলি তারের মাধ্যমে প্রেরণ করা যাবে না (সিরিয়ালযুক্ত)। আপনি কি অনেকগুলি ফিউচার এবং কয়েকটি অভিনেতা বা দুজনের মধ্যে একটি মিশ্রণ ব্যবহার করেন ...? আপনি সমস্ত সিরিয়ালাইজেশনের জন্য প্রোটবুফ ব্যবহার করেন এবং অভিনেতাদের একটি বার্তা হিসাবে প্রেরণ করেন?
আকতাউ

এটি দেখে মনে হচ্ছে আক্কা ছাড়া ঠিক এটি সহজেই পরিচালনা করা যেত।
এরিক কাপলুন

1
টিডিসি ফিয়াডেসিওর ক্ষেত্রে টেলকো সংস্থা।
রোমান কগান

37

আপনি যদি চ্যাট সার্ভারটিকে একটি স্তর পর্যন্ত বিমূর্ত করেন তবে আপনি উত্তর পাবেন।

আক্কা একটি বার্তাপ্রেরণ সরবরাহ করে যা এরং এর "এটিকে ক্রাশ হতে দিন" মানসিকতার অনুরূপ।

সুতরাং উদাহরণগুলি এমন জিনিস যা মেসেজের নির্ভরযোগ্যতার বিভিন্ন স্তরের প্রয়োজন:

  • চ্যাট সার্ভার
  • একটি এমএমওর জন্য নেটওয়ার্ক স্তর
  • আর্থিক তথ্য পাম্প
  • একটি আইফোন / মোবাইল / যে কোনও অ্যাপের জন্য বিজ্ঞপ্তি সিস্টেম
  • রেস্ট সার্ভার
  • ওয়েবম্যাচিনের অনুরূপ কিছু হতে পারে (অনুমান)

আক্কা সম্পর্কে দুর্দান্ত জিনিসগুলি হ'ল পছন্দগুলি দৃ pers়তার জন্য প্রতিপন্ন করে, এটি এসটিএম বাস্তবায়ন, আরএসটি সার্ভার এবং দোষ-সহনশীলতা।

চ্যাট সার্ভারের উদাহরণ থেকে বিরক্ত হবেন না, এটি নির্দিষ্ট শ্রেণীর সমাধানের উদাহরণ হিসাবে ভাবেন।

তাদের সমস্ত দুর্দান্ত ডকুমেন্টেশন সহ, আমি মনে করি একটি ফাঁক হ'ল এই সঠিক প্রশ্ন, ব্যবহারের ক্ষেত্রে এবং উদাহরণগুলি। উদাহরণগুলি মাথায় রেখে অপ্রয়োজনীয়।

(শুধুমাত্র ভিডিও দেখার এবং উত্সটির সাথে খেলার অভিজ্ঞতার সাথে লেখা, আমি আক্কা ব্যবহার করে কিছুই প্রয়োগ করি নি))


2
ধন্যবাদ - আমি বলতে চাইনি যে চ্যাট সার্ভারটি অগত্যা খারাপ, কেবলমাত্র আমি পরিপূরক উদাহরণ চাই want সম্ভাবনার আরও ভাল ধারণা পাওয়া সহজ।
StaxMan

এখানে REST সার্ভারটি কীভাবে ফিট করে তা জানতে আগ্রহী? আপনি কি নোড.জেএস স্টাইল অ্যাসিঙ্ক সার্ভারের প্রসঙ্গে এটি উল্লেখ করছেন? উদাহরণ ব্যবহারের ক্ষেত্রে ভাগ করে নেওয়ার জন্য ধন্যবাদ। আমি তাদের দরকারী মনে হয়েছিল।
সফটওয়্যার.উইকিপিডিয়া

24

আমরা কর্মক্ষেত্রে বেশ কয়েকটি প্রকল্পে আক্কা ব্যবহার করি, যার মধ্যে সবচেয়ে আকর্ষণীয় যানবাহন দুর্ঘটনা মেরামতের সাথে সম্পর্কিত। মূলত যুক্তরাজ্যে তবে এখন মার্কিন যুক্তরাষ্ট্র, এশিয়া, অস্ট্রেলাসিয়া এবং ইউরোপে প্রসারিত। যানবাহনের নিরাপদ এবং ব্যয় কার্যকর মেরামত সক্ষম করতে ক্র্যাশ মেরামতের তথ্য রিয়েলটাইম সরবরাহ করা হয়েছে তা নিশ্চিত করার জন্য আমরা অভিনেতাদের ব্যবহার করি।

আক্কার সাথে প্রশ্নটি আসলে আরও বেশি 'আপনি আককার সাথে কী করতে পারবেন না' is শক্তিশালী ফ্রেমওয়ার্কগুলির সাথে একীভূত করার ক্ষমতা, এর শক্তিশালী বিমূর্ততা এবং সমস্ত ত্রুটি সহনশীল দিকগুলি এটিকে একটি অত্যন্ত বিস্তৃত টুলকিট করে তোলে।


আপনি যদি পছন্দ করতে চান তবে আপনি কোন দিকটি সবচেয়ে বেশি পছন্দ করেন? অন্যান্য ফ্রেমওয়ার্ক, স্বয়ংক্রিয় ত্রুটি সহনশীলতা বা অন্য কোনও কিছুর জন্য বিদ্যমান ইন্টিগ্রেশন?
StaxMan

6
একটি ব্যক্তিগত দৃষ্টিকোণ থেকে এটি উত্থাপিত বিমূর্ততা স্তর যা আক্কা আমার পক্ষে সবচেয়ে ভাল পছন্দ করা টেবিলে নিয়ে আসে। একটি এন্টারপ্রাইজ দৃষ্টিকোণ থেকে এটি সংহতকরণ ক্ষমতা। জীবিকা নির্বাহ করতে এবং আক্কা ব্যবসা এবং আনন্দ উভয়ই খুব সুন্দরভাবে
জুড়েছে

আপনি কীভাবে বার্তাগুলির প্রবাহটি ব্যাখ্যা করতে পারেন? ব্যবহারকারী কি কোনও रिपাইর শপের সেই ব্যক্তি এবং ক্র্যাশ সম্পর্কিত বিশদটি একটি HT-ফর্মের মধ্যে প্রবেশ করে এবং সার্ভারে ডেটা প্রেরণ করে। এটি কি এমন কোনও বার্তা তৈরি করে যা আক্কা দ্বারা পরিচালিত হয়? এই বার্তা দিয়ে কি করতে? ডাটাবেসটি জিজ্ঞাসা করতে প্রবেশ করা তথ্যটি এক্সট্রাক্ট করুন এবং তারপরে পুনরায় ওয়েব-ফ্রন্টেন্ডে পাঠানোর জন্য উত্তরটি সারি করুন?
26-28-28

24

আপনি বিভিন্ন ধরণের জিনিসের জন্য আক্কা ব্যবহার করতে পারেন।

আমি একটি ওয়েবসাইটে কাজ করছিলাম, যেখানে আমি স্ক্যাক এবং আক্কায় প্রযুক্তির স্ট্যাকটি স্থানান্তরিত করেছিলাম। ওয়েবসাইটে এটি ঘটে যাওয়া বেশ কিছু কিছুর জন্য আমরা এটি ব্যবহার করেছি। যদিও আপনি চ্যাটের উদাহরণটি খারাপ বলে মনে করতে পারেন, সবগুলিই মূলত:

  • ওয়েবসাইটে সরাসরি আপডেট (যেমন দেখুন, পছন্দগুলি, ...)
  • সরাসরি ব্যবহারকারীর মন্তব্য দেখানো হচ্ছে
  • বিজ্ঞপ্তি পরিষেবা
  • অনুসন্ধান এবং অন্যান্য সমস্ত ধরণের পরিষেবা

বিশেষত লাইভ আপডেটগুলি সহজ যেহেতু তারা চ্যাটের উদাহরণটি কী না তা বোঝায়। পরিষেবার অংশটি অন্য একটি আকর্ষণীয় বিষয় কারণ আপনি কেবল দূরবর্তী অভিনেতা ব্যবহার করতে বেছে নিতে পারেন এবং আপনার অ্যাপ্লিকেশনটি ক্লাস্টার না করা সত্ত্বেও আপনি এটিকে সহজেই বিভিন্ন মেশিনে স্থাপন করতে পারেন।

আমি ল্যাপটপ থেকে একটি ডেটা সেন্টারে স্কেল করতে সক্ষম হবার ধারণার সাথে পিসিবি অটোরোটার অ্যাপ্লিকেশনের জন্যও আক্কা ব্যবহার করছি। আপনি যত বেশি শক্তি দেবেন, ফলাফল তত ভাল হবে। আপনি যদি যথাযথ সম্মতি ব্যবহার করার চেষ্টা করেন তবে এটি কার্যকর করা অত্যন্ত কঠিন কারণ আক্কা আপনাকে অবস্থানের স্বচ্ছতাও দেয়।

বর্তমানে একটি ফ্রি টাইম প্রকল্প হিসাবে, আমি কেবল অভিনেতা ব্যবহার করে একটি ওয়েব কাঠামো তৈরি করছি। আবার সুবিধাগুলি হ'ল একক মেশিন থেকে সম্পূর্ণ মেশিনের গোছাতে ala এছাড়াও, একটি বার্তা চালিত পদ্ধতির ব্যবহার আপনার সফ্টওয়্যার পরিষেবাটি শুরু থেকেই ওরিয়েন্টেড করে। আপনার কাছে সেই সমস্ত দুর্দান্ত উপাদান রয়েছে, একে অপরের সাথে কথা বলছেন তবে অগত্যা একে অপরকে জানা নয়, একই মেশিনে বাস করছেন, এমনকি একই ডেটা সেন্টারেও নেই।

এবং গুগল রিডার বন্ধ হওয়ার পরে আমি আকসাকে অবশ্যই ব্যবহার করে আরএসএস পাঠকের সাথে শুরু করেছি। এটি আমার জন্য এনক্যাপসুলেটেড পরিষেবাদি সম্পর্কে। একটি উপসংহার হিসাবে: অভিনেতার মডেল নিজেই আপনাকে প্রথমে গ্রহণ করা উচিত এবং আক্কা একটি খুব নির্ভরযোগ্য কাঠামো যা আপনাকে এ পথে চালিত প্রচুর সুবিধাগুলি সহ এটি বাস্তবায়নে সহায়তা করে।


হ্যালো জো, আপনি কীভাবে বার্তাগুলি সাইট আপডেট করার জন্য ব্যবহৃত হয় তা ব্যাখ্যা করতে পারেন? বিষয়বস্তু লেখকের জন্য আপনার কি একটি সিস্টেম আছে; সে একটি নতুন নিবন্ধ তৈরি করে এবং হিট সেভ করে। এটি কি এমন বার্তা তৈরি করে যা আগত ট্র্যাফিক পরিচালনা করে এমন বেশ কয়েকটি সার্ভারে প্রেরণ করা হয়। প্রতিটি সার্ভার যত তাড়াতাড়ি সম্ভব আপডেট-বার্তা প্রক্রিয়া করে। প্রতিটি নতুন ব্রাউজার-অনুরোধের পরে পৃষ্ঠার একটি আপডেট সংস্করণ পাওয়া যায়? আপনাকে ধন্যবাদ
২৮

18

টুইমপ্যাক্ট.কমের জন্য আমাদের বিশ্লেষণ এবং ট্রেন্ডিং প্রসেসিং বিতরণ করতে আমরা এর উট প্লাগইন সহ আক্কা ব্যবহার করছি । আমাদের প্রতি সেকেন্ডে 50 থেকে 1000 বার্তাগুলির মধ্যে প্রক্রিয়া করতে হবে। উটের সাথে মাল্টি-নোড প্রসেসিংয়ের পাশাপাশি এটি একক প্রসেসরের কাজ একাধিক কর্মীদের সর্বাধিক কার্যকারিতার জন্য বিতরণ করতেও ব্যবহৃত হয়। বেশ ভাল কাজ করে, তবে ভিড়গুলি কীভাবে পরিচালনা করতে হবে তার কিছু বোঝার প্রয়োজন।


আপনি কি আক্কার দোষ সহনশীলতা ব্যবহার করছেন?
এরিক কাপলুন

স্পার্ক স্ট্রিমিং সম্পর্কে কীভাবে আমাদের যদি স্পার্ক ক্লাস্টারে অ্যাক্সেস থাকে?
skjagini

18

আমি আক্কা (জাভা এপিআই) এর উপর হাত চেষ্টা করছিলাম। আমি যা চেষ্টা করেছি তা হ'ল আকার অভিনেতা ভিত্তিক কনক্যুরেন্সির মডেলটির তুলনায় প্লেইন জাভা কনসুরেন্সির মডেল (java.util.conc ચાલુ ক্লাস)।

ব্যবহারের ক্ষেত্রে অক্ষর গণনা বাস্তবায়ন হ্রাস করার একটি সাধারণ প্রচলিত মানচিত্র ছিল। ডেটাসেটটি এলোমেলোভাবে উত্পাদিত স্ট্রিংগুলির দৈর্ঘ্য ছিল (400 অক্ষর দৈর্ঘ্যের) এবং সেগুলির মধ্যে স্বর সংখ্যা গণনা করুন।

আক্কার জন্য আমি একটি ভারসাম্যযুক্ত ডিসপ্যাচার (থ্রেডগুলির মধ্যে লোড ভারসাম্যের জন্য) এবং রাউন্ডরবিনরউটার (আমার ফাংশন অভিনেতাদের সীমাবদ্ধ রাখতে) ব্যবহার করেছি। জাভা-র জন্য, আমি সাধারণ কাঁটাচামচ যোগদান কৌশল (কোনও কাজ চুরির অ্যালগরিদম ছাড়াই বাস্তবায়িত) ব্যবহার করেছি যা ম্যাপ কাঁটাচামচ করে / ফাঁসিকে হ্রাস করবে এবং ফলাফলগুলিতে যোগদান করবে। এমনকি যোগদানকে যতটা সম্ভব সমান্তরাল করে তুলতে মধ্যবর্তী ফলাফলগুলি কাতারে আটকে রাখা হয়েছিল। সম্ভবত, আমি যদি ভুল না হয়ে থাকি তবে এটি আক্কা অভিনেতাদের "মেইলবক্স" ধারণার নকল করে, যেখানে তারা বার্তা গ্রহণ করে।

পর্যবেক্ষণ: মাঝারি লোড পর্যন্ত (00 50000 স্ট্রিং ইনপুট) ফলাফলগুলি তুলনীয় ছিল, বিভিন্ন পুনরাবৃত্তিতে কিছুটা পৃথক হয়ে। যাইহোক, আমি আমার বোঝাটিকে 000 100000 এ বাড়ানোর সাথে সাথে এটি জাভা সমাধানটি ঝুলিয়ে রাখবে। আমি এই অবস্থার অধীনে 20-30 থ্রেড সহ জাভা সমাধানটি কনফিগার করেছি এবং এটি সমস্ত পুনরাবৃত্তিতে ব্যর্থ।

1000000 বোঝা বৃদ্ধি, আকার জন্যও মারাত্মক ছিল। আমি ক্রস চেক করতে আগ্রহী কারও সাথে কোডটি ভাগ করতে পারি।

সুতরাং আমার কাছে মনে হয় আক্কারা প্রচলিত জাভা মাল্টিথ্রেড সমাধানের চেয়ে আরও ভাল আঁকিয়েছে। এবং সম্ভবত কারণটি স্কালার হুড ম্যাজিকের নীচে।

যদি আমি ইভেন্ট চালিত বার্তাটি পাস করার মতো সমস্যা হিসাবে কোনও ডোমেনকে মডেল করতে পারি তবে আমি মনে করি আক্কা JVM এর পক্ষে ভাল পছন্দ।

পরীক্ষার উপর সঞ্চালিত হয়েছে: জাভা সংস্করণ: 1.6 আইডিই: Eclipse 3.7 উইন্ডোজ ভিস্তা 32 বিট। 3 জিবি র‌্যাম ইন্টেল কোর আই 5 প্রসেসর, 2.5 গিগাহার্টজ ঘড়ির গতি

দয়া করে নোট করুন, পরীক্ষার জন্য ব্যবহৃত সমস্যা ডোমেনটি নিয়ে বিতর্ক করা যেতে পারে এবং আমি আমার জাভা জ্ঞানের অনুমতি অনুসারে যতটা ন্যায্য হতে চেষ্টা করেছি :-)


3
"আমি ক্রস চেক করতে আগ্রহী কারও সাথে কোডটি ভাগ করতে পারি" " যদি আপনি কিছু মনে করেন না তবে আমি চাই।
n1r3

3
আমি কোডটিও চাই, আপনি কি গিথুব লিঙ্ক পোস্ট করতে পারেন?
গৌতম

আপনার আগ্রহের জন্য আপনাকে ধন্যবাদ. দুর্ভাগ্যক্রমে আমার একটি গিথুব রেপো স্থাপন করতে কিছু সমস্যা হচ্ছে। আপনি যদি আমাকে আপনার ইমেলগুলি দিতে পারেন তবে আমি উত্স কোডের মাধ্যমে মেল করতে পারি। আর দেরিতে জবাবের জন্য আফসোস!
সুতানু ডালুই

@ সুতানুডালুই আপনার কি এখনও কোড আছে দয়া করে, যদি আমি আমার ইমেলটি ভাগ করে নিতে পারি?
জয়

16

আমরা স্পোকড ডায়ালগ সিস্টেমে ( প্রাইমটালক ) আক্কা ব্যবহার করি । অভ্যন্তরীণ এবং বাহ্যিকভাবে উভয়ই। একক ক্লাস্টার নোডে একই সাথে প্রচুর টেলিফোনি চ্যানেলগুলি চালানোর জন্য কিছু মাল্টিথ্রেডিং ফ্রেমওয়ার্ক থাকা স্পষ্টতই প্রয়োজনীয়। আক্কা ঠিক নিখুঁত কাজ করে। জাভা-কনক্যুরেন্সির সাথে আমাদের আগের দুঃস্বপ্ন। এবং আককার সাথে এটি কেবল দোলের মতো - এটি কেবল কার্যকর। দৃust় এবং নির্ভরযোগ্য। 24 * 7, নন স্টপ।

একটি চ্যানেলের অভ্যন্তরে আমাদের ইভেন্টগুলির রিয়েল-টাইম স্ট্রিম রয়েছে যা সমান্তরালে প্রক্রিয়াজাত হয়। বিশেষত: - দীর্ঘ স্বয়ংক্রিয় বক্তৃতা স্বীকৃতি - একজন অভিনেতার সাথে করা হয়; - অডিও আউটপুট প্রযোজক যা কয়েকটি অডিও উত্সগুলিতে মিশ্রিত হয় (সংশ্লেষিত বক্তৃতা সহ); - পাঠ্য থেকে স্পিচ রূপান্তর চ্যানেলগুলির মধ্যে ভাগ করা অভিনেতাদের একটি পৃথক সেট; - শব্দার্থক এবং জ্ঞান প্রক্রিয়াকরণ।

জটিল সিগন্যাল প্রসেসিংয়ের আন্তঃসংযোগ তৈরি করতে আমরা SynapseGrid ব্যবহার করি । জটিল অভিনেতা সিস্টেমে এটি ডেটাফ্লো সংকলন-সময় পরীক্ষা করার সুবিধা রয়েছে।


14

আমি সম্প্রতি আক্কা: শব্দ গণনাতে ক্যানোনিকাল মানচিত্র-হ্রাস উদাহরণ প্রয়োগ করেছি । সুতরাং এটি আক্কার এক ব্যবহারের ক্ষেত্রে: আরও ভাল পারফরম্যান্স। এটি অন্য যে কোনও কিছুর চেয়ে জেআরবি এবং আক্কার অভিনেতাদের অনেক বেশি পরীক্ষা-নিরীক্ষা ছিল , তবে এটি এও দেখায় যে আক্কা কেবল স্কালা বা জাভা নয়: এটি জেভিএমের শীর্ষে সমস্ত ভাষায় কাজ করে।


আপনি কি জানেন যে আরও ভাল পারফরম্যান্সের জন্য দায়ী কি (এবং কোন বিকল্পের সাথে তুলনাও)? এটি কি জেভিএম (বনাম নেটিভ রুবি) এ জেআরবি ব্যবহার করার কারণে, আই / ও বা অন্য কোনও কিছু অবরুদ্ধ না করার কারণে স্কালালিবিলি?
StaxMan

2
আমি যে তুলনা লিখেছি তা হ'ল: অভিনেতাদের সাথে জুরুবি সিক্যুয়াল ভিএস জুরুবি। সুতরাং, দ্রুত কার্যকরকরণের জন্য দায়ী হতে পারে যে একমাত্র জিনিসটি হল অভিনেতাদের অংশগ্রহণ the কোনও আই / ও পরীক্ষায় অংশ নিয়েছে না (কোনও ফাইল ডিস্ক থেকে লোড করা হয়, তবে এটি বেঞ্চমার্ক টাইমার সেট হওয়ার আগেই করা হয়ে থাকে)।
ড্যানিয়েল রিবেইরো

আমি সম্প্রতি মানচিত্রের উদাহরণ হ্রাস করার জন্য একটি মানচিত্রও বাস্তবায়ন করেছি, তবে এটি কেবল সরল ভ্যানিলা জাভা github.com/chaostheory/jibenakka
cha
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.