diff --git a/src/manager/UpstreamManager.cc b/src/manager/UpstreamManager.cc index ab813697..b5adad77 100644 --- a/src/manager/UpstreamManager.cc +++ b/src/manager/UpstreamManager.cc @@ -95,7 +95,7 @@ public: Upstream *upstream; struct rb_node rb; std::mutex mutex; - std::vector masters; + std::vector mains; std::vector backups; struct list_head breaker_list; std::atomic nbreak; @@ -134,7 +134,7 @@ public: int set_attr(bool try_another, upstream_route_t rehash_callback); void check_one_breaker(UpstreamGroup *group, int64_t cur_time); void check_all_breaker(); - void get_all_master(std::vector& addr_list); + void get_all_main(std::vector& addr_list); static void notify_unavailable(UpstreamAddress *ua); static void notify_available(UpstreamAddress *ua); @@ -143,7 +143,7 @@ protected: pthread_rwlock_t rwlock_; int total_weight_; int available_weight_; - std::vector masters_; + std::vector mains_; std::unordered_map> server_map_; struct rb_root group_map_; upstream_route_t select_callback_; @@ -166,11 +166,11 @@ const UpstreamAddress *UpstreamGroup::get_one() std::lock_guard lock(this->mutex); - std::random_shuffle(this->masters.begin(), this->masters.end()); - for (const auto *master : this->masters) + std::random_shuffle(this->mains.begin(), this->mains.end()); + for (const auto *main : this->mains) { - if (master->fail_count < master->params.max_fails) - return master; + if (main->fail_count < main->params.max_fails) + return main; } std::random_shuffle(this->backups.begin(), this->backups.end()); @@ -328,7 +328,7 @@ int Upstream::add(UpstreamAddress *ua) if (ua->params.server_type == 0) { total_weight_ += ua->params.weight; - masters_.push_back(ua); + mains_.push_back(ua); } group->mutex.lock(); @@ -337,7 +337,7 @@ int Upstream::add(UpstreamAddress *ua) if (ua->params.server_type == 0) { group->weight += ua->params.weight; - group->masters.push_back(ua); + group->mains.push_back(ua); } else group->backups.push_back(ua); @@ -362,7 +362,7 @@ int Upstream::del(const std::string& address) if (ua->params.server_type == 0) { total_weight_ -= ua->params.weight; - vec = &group->masters; + vec = &group->mains; } else vec = &group->backups; @@ -389,15 +389,15 @@ int Upstream::del(const std::string& address) server_map_.erase(map_it); } - int n = (int)masters_.size(); + int n = (int)mains_.size(); int new_n = 0; for (int i = 0; i < n; i++) { - if (masters_[i]->address != address) + if (mains_[i]->address != address) { if (new_n != i) - masters_[new_n++] = masters_[i]; + mains_[new_n++] = mains_[i]; else new_n++; } @@ -405,7 +405,7 @@ int Upstream::del(const std::string& address) if (new_n < n) { - masters_.resize(new_n); + mains_.resize(new_n); return n - new_n; } @@ -454,12 +454,12 @@ void Upstream::enable_server(const std::string& address) } } -void Upstream::get_all_master(std::vector& addr_list) +void Upstream::get_all_main(std::vector& addr_list) { ReadLock lock(rwlock_); - for (const auto *master : masters_) - addr_list.push_back(master->address); + for (const auto *main : mains_) + addr_list.push_back(main->address); } static inline const UpstreamAddress *__check_get_strong(const UpstreamAddress *ua) @@ -505,12 +505,12 @@ const UpstreamAddress *Upstream::weighted_random_try_another() const int x = rand() % temp_weight; int s = 0; - for (const auto *master : masters_) + for (const auto *main : mains_) { - if (__is_alive_or_group_alive(master)) + if (__is_alive_or_group_alive(main)) { - ua = master; - s += master->params.weight; + ua = main; + s += main->params.weight; if (s > x) break; } @@ -524,20 +524,20 @@ const UpstreamAddress *Upstream::consistent_hash_select(unsigned int hash) const const UpstreamAddress *ua = NULL; unsigned int min_dis = (unsigned int)-1; - for (const auto *master : masters_) + for (const auto *main : mains_) { - if (__is_alive_or_group_alive(master)) + if (__is_alive_or_group_alive(main)) { for (int i = 0; i < VIRTUAL_GROUP_SIZE; i++) { unsigned int dis = std::min - (hash - master->consistent_hash[i], - master->consistent_hash[i] - hash); + (hash - main->consistent_hash[i], + main->consistent_hash[i] - hash); if (dis < min_dis) { min_dis = dis; - ua = master; + ua = main; } } } @@ -616,7 +616,7 @@ const UpstreamAddress *Upstream::get(const ParsedURI& uri) else { ReadLock lock(rwlock_); - unsigned int n = (unsigned int)masters_.size(); + unsigned int n = (unsigned int)mains_.size(); if (n == 0) return NULL; @@ -642,7 +642,7 @@ const UpstreamAddress *Upstream::get(const ParsedURI& uri) for (idx = 0; idx < n; idx++) { - s += masters_[idx]->params.weight; + s += mains_[idx]->params.weight; if (s > x) break; } @@ -651,7 +651,7 @@ const UpstreamAddress *Upstream::get(const ParsedURI& uri) idx = n - 1; } - ua = masters_[idx]; + ua = mains_[idx]; if (ua->fail_count >= ua->params.max_fails) { check_all_breaker(); @@ -924,7 +924,7 @@ public: return -1; } - std::vector upstream_master_address_list(const std::string& name) + std::vector upstream_main_address_list(const std::string& name) { std::vector addr_list; Upstream *upstream = NULL; @@ -937,7 +937,7 @@ public: } if (upstream) - upstream->get_all_master(addr_list); + upstream->get_all_main(addr_list); return addr_list; } @@ -1109,11 +1109,11 @@ int UpstreamManager::upstream_enable_server(const std::string& name, return manager->upstream_enable_server(name, address); } -std::vector UpstreamManager::upstream_master_address_list(const std::string& name) +std::vector UpstreamManager::upstream_main_address_list(const std::string& name) { auto *manager = __UpstreamManager::get_instance(); - return manager->upstream_master_address_list(name); + return manager->upstream_main_address_list(name); } int UpstreamManager::upstream_delete(const std::string& name) diff --git a/src/manager/UpstreamManager.h b/src/manager/UpstreamManager.h index c96a0267..ecc1c81a 100644 --- a/src/manager/UpstreamManager.h +++ b/src/manager/UpstreamManager.h @@ -84,7 +84,7 @@ static constexpr struct AddressParams ADDRESS_PARAMS_DEFAULT = * 1. Weighted-Random * 2. Consistent-Hash * 3. Manual-Select - * - Additional, we support Master-Slave & Group for server and working well in any mode. + * - Additional, we support Main-backup & Group for server and working well in any mode. * * @code{.cc} upstream_create_weighted_random("abc.sogou", true); //UPSTREAM_WIGHTED_RANDOM @@ -151,7 +151,7 @@ public: /** * @brief MODE 3: manual select * @param[in] name upstream name - * @param[in] select manual select functional, just tell us master-index. + * @param[in] select manual select functional, just tell us main-index. * @param[in] try_another when first choice is failed, try another one or not * @param[in] consitent_hash consistent-hash functional * @return success/fail @@ -218,12 +218,12 @@ public: const std::string& address); /** - * @brief get all master address list from one upstream + * @brief get all main servers address list from one upstream * @param[in] name upstream name - * @return all master address list + * @return all main servers' address list * @warning If server servers has the same address in this upstream, then will appear in the vector multiply times */ - static std::vector upstream_master_address_list(const std::string& name); + static std::vector upstream_main_address_list(const std::string& name); public: /// @breif for plugin