ﺷﺎﯾﺪ ﺧﯿﻠﯽ از ﺷﻤﺎ ﮐﺎرﺑﺮان ﻋﺰﯾﺰ ﺑﺎ اﺻﻄﻼح ﮐﻼﺳﺘﺮﯾﻨﮓ آﺷﻨﺎﯾﯽ ﻧﺪاﺷﺘﻪ ﺑﺎﺷﯿﺪ.

ﺧﯿﻠﯽ از ﺷﻤﺎ ﺣﺘﯽ ﻧﯿﺎزي ﻫﻢ ﻧﺪارﯾﺪ ﮐﻪ ﺑﺪاﻧﯿﺪ ﮐﻼﺳﺘﺮﯾﻨﮓ ﺑﻪ ﭼﻪ ﻣﻌﻨﺎﺳﺖ. اﻣﺎ ﮐﺴﺎﻧﯽ ﮐﻪ ﮐﻤﯽ ﺗﺨﺼﺼﯽ ﺗﺮ ﺑﻪ ﻗﻀﯿﻪ ﻧﮕﺎه ﮐﻨﻨﺪ و ﺑﺤﺚ ﻫﺎي ﺷﺒﮑﻪ وnetworking  رو دﻧﺒﺎل ﮐﻨﻨﺪ ﻣﻄﻤﺌﻨﺎً ﻣﯿﺪاﻧﻨﺪ ﮐﻼﺳﺘﺮﯾﻨﮓ از ﺣﯿﺎﺗﯽ ﺗﺮﯾﻦ و ﻣﻬﻤﺘﺮﯾﻦ ﺗﮑﻨﻮﻟﻮژي ﻫﺎﯾﯿﺴﺖ ﮐﻪ ﻫﺮ ﺷﺮﮐﺖ ﺑﺰرﮔﯽ ﺑﺎﯾﺪ ﺗﺎﺑﻊ و اﺳﺘﻔﺎده ﮐﻨﻨﺪه از اﯾﻦ ﺗﮑﻨﻮﻟﻮژي ﺑﺎﺷد در ﻏﯿﺮ اﯾﻦ ﺻﻮرت ﯾﮏ ﺑﺎزﻧﺪه در دﻧﯿﺎي ﻧﺖ ﺑﻪ ﺣﺴﺎب ﻣﯿﺎد. ﺷﺮﮐﺖ ﻫﺎي ﺑﺰرﮔﯽ ﻫﻤﭽﻮن ﮔﻮﮔﻞ، ﯾﺎﻫﻮ، ﻣﺎﯾﮑﺮوﺳﺎﻓﺖ و ﺧﯿﻠﯽ از ﺷﺮﮐﺘﻬﺎي دﯾﮕﻪ از ﮐﻼﺳﺘﺮﯾﻨﮓ ﺑﺮاي ﺛﺒﺎت و دوام ﺳﺮورﻫﺎي ﺧﻮدﺷﻮن و ﺳﺮوﯾﺲ دﻫﯽ ﺑﻪ ﮐﺎرﺑﺮان اﺳﺘﻔﺎده ﻣﯿﮑﻨﻨﺪ.

در اداﻣﻪ ﺑﻪ ﻣﻌﺮﻓﯽ ﮐﻼﺳﺘﺮﯾﻨﮓ و اﯾﻨﮑﻪ ﭼﺮا ﻫﺮ ﺷﺮﮐﺘﯽ و ﺳﺮوﯾﺲ دﻫﻨﺪه اي در دﻧﯿﺎي ﻧﺖ ﺑﺎﯾﺪ از اﯾﻦ ﺗﮑﻨﻮﻟﻮژي اﺳﺘﻔﺎده ﮐﻨﺪ، ﺧﻮاﻫﯿﻢ ﭘﺮداﺧﺖ.

کلاسترینگ چیست؟

کلاسترﯾﻨﮓ ﺑﻪ ﮔﺮوﻫﯽ از ﺳﺮورﻫﺎ ﺷﺎﻣﻞ ﯾﮏ ﯾﺎ ﺑﯿﺸﺘﺮ از ﯾﮏ ﺳﺮور ﮔﻔﺘﻪ ﻣﯿﺸﻮد ﮐﻪ ﺑﺎ ﯾﮑﺪﯾﮕﺮ ﻧﺮم اﻓﺰاري ﻣﺸﺨﺺ را اﺟﺮا ﻣﯿﮑﻨﻨﺪ ﮐﻪ ﻧﺘﯿﺠﻪ ي آن اﺣﺘﻤﺎل ﺧﻄﺎي ﮐﻤﺘﺮ و ﺳﺮﻋﺖ ﻟﺪ ﺑﺎﻻﺗﺮ ﺑﺮﻧﺎﻣﻪ ﻫﺎﺳﺖ. ﺳﺮوﯾﺲ ﮐﻼﺳﺘﺮﯾﻨﮓ ﺑﯿﺸﺘﺮ ﺑﺮاي ﺳﺎزﻣﺎن و ﺷﺮﮐﺘﻬﺎﯾﯽ ﺑﻪ ﮐﺎر ﻣﯿﺮود ﮐﻪ ﺑﺮﻧﺎﻣﻪ ي آﻧﻬﺎ ﺗﺤﺖ ﻫﺮ ﺷﺮاﯾﻄﯽ ﺑﺎﯾﺪ اﺟﺮا ﺷﻮد و در ﺣﺎﻟﺖ اﺟﺮا ﺑﺎﻗﯽ ﺑﻤﺎﻧﺪ ﺣﺘﯽ زﻣﺎﻧﯽ ﮐﻪ ﯾﮑﯽ از ﺳﺮورﻫﺎ از ﺳﺮوﯾﺲ ﺧﺎرج ﺷﺪه ﺑﺎﺷﺪ. در ﺳﺮوﯾﺲ ﮐﻼﺳﺘﺮﯾﻨﮓ ﺗﻤﺎﻣﯽ ﺳﺮورﻫﺎ ﻫﻤﺎن ﺑﺮﻧﺎﻣﻪ و ﻗﻮاﻧﯿﻨﯽ را ﮐﻪ ﺑﺎﻗﯽ ﺳﺮورﻫﺎ اﺟﺮا ﻣﯿﮑﻨﻨﺪ اﺟﺮا ﺧﻮاﻫﻨﺪ ﮐﺮد ﻟﺬا اﮔﺮ ﺳﺮوري از ﺳﺮوﯾﺲ ﺧﺎرج ﺷﻮد ﺑﺎﻗﯽ ﺳﺮورﻫﺎ ﺑﻼﻓﺎﺻﻪ ﺷﺮوع ﺑﻪ ﮐﺎر ﺧﻮاﻫﻨﺪ ﮐﺮد ﮐﻪ ﺑﻪ آنFailover  ﮔﻔﺘﻪ ﻣﯿﺸﻮد. زﻣﺎﻧﯽ ﮐﻪ ﺳﺮور از ﺳﺮوﯾﺲ ﺧﺎرج ﺷﺪه دوﺑﺎره ﺑﻪ ﮐﺎر اﻓﺘﺎد ﺑﺎﻗﯽ ﺳﺮورﻫﺎ آﮔﺎه ﻣﯿﺸﻮﻧﺪ و روﻧﺪ ﻋﺎدي دوﺑﺎره اداﻣﻪ ﺧﻮاﻫﺪ ﯾﺎﻓﺖ. ﺑﻪ اﯾﻦ ﻋﻤﻞ Failback ﺘﻪ ﻣﯿﺸﻮد. وﯾﻨﺪوز ﺳﺮور 2003 دو ﻧﻮع ﮐﻼﺳﺘﺮﯾﻨﮓ را ﭘﺸﺘﯿﺒﺎﻧﯽ ﻣﯿﮑﻨﺪ:

  1. ﺳﺮورﻫﺎي ﮐﻼﺳﺘﺮ
  2. ﺗﻌﺎدل ﺑﺎرﮔﺬاري ﺷﺒﮑﻪ Network Load Balancing

ﺳﺮورﻫﺎي ﮐﻼﺳﺘﺮ ﺑﯿﺸﺘﺮ ﺑﺮاي ﺑﺮﻧﺎﻣﻪ ﻫﺎﯾﯽ ﺑﻪ ﮐﺎر ﻣﯿﺮوﻧﺪ ﮐﻪ ﻣﺪت زﻣﺎن زﯾﺎدي را در ﺣﺎﻓﻈﻪ ﻣﯿﻤﺎﻧﻨﺪ و ﯾﺎ ﺗﻌﻮﯾﺾ داده ي ﺑﯿﺸﺘﺮي را اﻧﺠﺎم ﻣﯿﺪﻫﻨﺪ ﮐﻪ ﺑﻪ آﻧﻬﺎ Stateful Applications ﮔﻔﺘﻪ ﻣﯿﺸﻮد ﮐﻪ ﻣﯿﺘﻮان ﺳﺮورﻫﺎي ﺑﺎﻧﮏ اﻃﻼﻋﺎﺗﯽ ﻧﻈﯿﺮ Microsoft SQL ﯾﺎ ﺳﺮورﻫﺎي اﯾﻤﯿﻞ ﻣﺎﯾﮑﺮوﺳﺎﻓﺖ را ﻧﺎم ﺑﺮد. ﺳﺮورﻫﺎي در ﮐﻼﺳﺘﺮﯾﻨﮓ ﻧﻮد ﻧﯿﺰ ﻧﺎﻣﯿﺪه ﻣﯿﺸﻮﻧﺪ و ﻫﻤﮕﯽ ﻧﻮد ﻫﺎ از ﯾﮏ ﺳﺮي ﺑﺮﻧﺎﻣﻪ و داده ي ﺧﺎص و دﯾﮕﺮ اﻣﮑﺎﻧﺎت ﺷﺒﮑﻪ اﺳﺘﻔﺎده ﻣﯿﮑﻨﻨﺪ. ﻟﺬا ﻫﺮ ﮐﺪام از ﻧﻮدﻫﺎ ﻣﯿﺘﻮاﻧﻨﺪ درﺧﻮاﺳﺖ ﻫﺎي ﮐﻼﯾﻨﺖ را اﻧﺠﺎم دﻫﻨﺪ. ﺗﻨﻈﯿﻢ ﮐﺮدن ﻧﻮد ﮐﻪ ﺑﺘﻮاﻧﺪ ﻓﻌﺎل Active ﯾﺎ ﻏﯿﺮﻓﻌﺎل Passive ) ﺑﺮاي ﻣﻮاﻗﻊ ﺿﺮوري ﻓﻌﺎل ﺷﻮد( دﺳﺖ ﺧﻮد ﺷﻤﺎﺳﺖ.

ﺑﺮاي ﻣﺜﺎل ﯾﮏ ﺳﺮور ﮐﻼﺳﺘﺮ ﺳﺎده ﻣﯿﺘﻮاﻧﺪ ﺷﺎﻣﻞ دو ﻧﻮد ﺑﺎﺷﺪ ﮐﻪ ﻫﺮ دو ﺑﺎﯾﺪ وﯾﻨﺪوز ﺳﺮور 2003و Microsoft SQL را در ﺣﺎﻟﺖ اﺟﺮا داﺷﺘﻪ ﺑﺎﺷﻨﺪ و ﻫﺮ دو ﺑﻪ NAS ﺷﺒﮑﻪ دﺳﺘﺮي داﺷﺘﻪ ﺑﺎﺷﻨﺪ ﮐﻪ اﻃﻼﻋﺎت ﻣﺮﺑﻮط ﺑﻪ ﺑﺎﻧﮏ داده را درون ﺧﻮدش ذﺧﯿﺮه ﮐﺮده اﺳﺖ. ﯾﮑﯽ از ﻧﻮد ﻫﺎ ﺑﺎﯾﺪ  Activeو دﯾﮕﺮي ﺑﺎﯾﺪ Passive ﺑﺎﺷﺪ. در ﺣﺎﻟﺖ ﻣﻌﻤﻮل ﻧﻮد ﻓﻌﺎل ﺑﻪ ﺻﻮرت ﻋﺎدي ﺑﻪ ﮐﺎر ﺧﻮد اداﻣﻪ ﻣﯿﺪﻫﺪ ﺑﻪ درﺧﻮاﺳﺖ ﻫﺎي ﮐﻼﯾﻨﺖ ﻫﺎ ﭘﺎﺳﺦ ﻣﯿﺪﻫﺪ و اﻃﻼﻋﺎت را اﻧﺘﻘﺎل و ﯾﺎ درﯾﺎﻓﺖ ﻣﯿﮑﻨﺪ اﻣﺎ اﮔﺮ ﻧﻮد ﻓﻌﺎل ﺑﻪ ﻫﺮ دﻟﯿﻠﯽ از ﺳﺮوﯾﺲ ﺧﺎرج ﺷﺪ ﻧﻮد ﻏﯿﺮﻓﻌﺎل ﺑﻪ ﺳﺮﻋﺖ از ﺳﺮوﯾﺲ ﺧﺎرج ﺷﺪن ﻧﻮد ﻓﻌﺎل را ﺗﺸﺨﯿﺺ ﻣﯿﺪﻫﺪ و ﺧﻮد ﻓﻌﺎل ﻣﯿﺸﻮد و ﺑﻪ درﺧﻮاﺳﺖ ﻫﺎي ﮐﻼﯾﻨﺖ ﻫﺎ رﺳﯿﺪﮔﯽ ﻣﯿﮑﻨﺪ. اﻟﺒﺘﻪ اﯾﻦ روش ﯾﮏ ﻣﺸﮑﻞ ﻋﻤﺪه دارد ﮐﻪ در اﯾﻦ روش Active/Passive ﻫﻤﯿﺸﻪ ﯾﮑﯽ از ﺳﺮورﻫﺎ ﺑﯽ ﮐﺎر ﻣﯿﺒﺎﺷﺪ و ﺗﺎ زﻣﺎﻧﯽ ﮐﻪ ﺳﺮور اول از ﺳﺮوﯾﺲ ﺧﺎرج ﻧﺸﻮد ﮐﺎري اﻧﺠﺎم ﻧﻤﯿﺪﻫﺪ اﻣﺎ ﺑﺴﺘﻪ ﺑﻪ ﻧﻮع ﺑﺮﻧﺎﻣﻪ ﻣﯿﺘﻮان ﺳﺮورﮐﻼﺳﺘﺮ ﻫﺎ را ﻃﻮري ﻃﺮاﺣﯽ ﮐﺮد ﮐﻪ ﺑﺘﻮاﻧﻨﺪ ﮐﺎرﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﺑﺮﻧﺎﻣﻪ و وﻇﺎﯾﻒ را ﺑﯿﻦ ﯾﮑﺪﯾﮕﺮ ﺗﻘﺴﯿﻢ ﮐﻨﻨﺪ و ﺑﺎزدﻫﯽ ﺳﺮوﯾﺲ را ﺑﺎﻻ ﺑﺒﺮﻧﺪ.

Balancing Network Load

نوعی از ﮐﻼﺳﺘﺮﯾﻨﮓ ﻣﯿﺒﺎﺷﺪ ﮐﻪ ﻫﻢ ﻗﺎﺑﻠﯿﺖ دﺳﺘﯿﺎﺑﯽ ﺑﺎﻻﺗﺮ و راﺣﺖ ﺗﺮ و ﻫﻢ ﻇﺮﻓﯿﺖ ﺑﯿﺸﺘﺮي دارد. NLB ﺑﺮاي ﺑﺮﻧﺎﻣﻪ ﻫﺎﯾﯽ ﻃﺮاﺣﯽ ﺷﺪه اﺳﺖ ﮐﻪ واﺑﺴﺘﮕﯽ داده اي ﮐﻤﺘﺮي دارﻧﺪ و اﯾﻦ داده ﻫﺎ ﮐﻤﺘﺮ ﺗﻐﯿﯿﺮ ﻣﯿﮑﻨﻨﺪ ﮐﻪ ﮔﺎﻫﺎً ﺣﺘﯽ ﻣﻤﮑﻦ اﺳﺖ ﻓﻘﻂ ﺧﻮاﻧﺪﻧﯽ ﻧﯿﺰ ﺑﺎﺷﻨﺪ و زﻣﺎﻧﯽ زﯾﺎدي را در ﺣﺎﻓﻈﻪ ﺑﺎﻗﯽ ﻧﻤﺎﻧﻨﺪ. ﺑﻪ اﯾﻦ ﺑﺮﻧﺎﻣﻪ ﻫﺎ Stateless ﮔﻔﺘﻪ ﻣﯿﺸﻮد و ﻣﻌﻤﻮﻻً داراي ﭘﺮوﺗﮑﻞ FTP و ﺳﺮورﻫﺎي VPN ﻫﺴﺘﻨﺪ. درﺧﻮاﺳﺖ ﻫﺮ ﮐﻼﯾﻨﺖ ﺑﻪ ﺑﺮﻧﺎﻣﻪ ﻫﺎي Stateless ﯾﮏ ﻓﻌﻞ و اﻧﻔﻌﺎل ﺟﺪا ﻣﺤﺴﻮب ﻣﯿﺸﻮد ﭘﺲ ﻣﯿﺘﻮان درﺧﻮاﺳﺖ ﻫﺎ را در ﻣﯿﺎن ﺗﻤﺎﻣﯽ ﺳﺮورﻫﺎ ﺗﻮزﯾﻊ ﮐﺮد ﺗﺎ ﺑﺘﻮان ﻟﺪ ﻣﻮرد ﭘﺮدازش ﺑﺮﻧﺎﻣﻪ ﻫﺎ را داراي ﺗﻌﺎدل ﮐﺮد.

ﻫﻨﮕﺎﻣﯽ ﮐﻪ ﯾﮏ ﺳﺮور ﺑﻪ ﻓﺮض ﯾﮏ رﮐﻮردي را درﯾﺎﻓﺖ ﻣﯿﮑﻨﺪ و آن را در دﯾﺘﺎﺑﯿﺲ ذﺧﯿﺮه ﻣﯿﮑﻨﺪ ﺑﻘﯿﻪ ي ﺳﺮورﻫﺎ اﺟﺎزه ي دﺳﺘﺮﺳﯽ ﺑﻪ آن رﮐﻮرد را ﻧﺪارﻧﺪ ﺗﺎ زﻣﺎﻧﯽ ﮐﻪ ﺑﻘﯿﻪ ي ﺳﺮورﻫﺎ ﻧﯿﺰ آن رﮐﻮرد را در دﯾﺘﺎﺑﯿﺲ ﺧﻮد ذﺧﯿﺮه ﮐﻨﻨﺪ.ﻫﻨﮕﺎﻣﯽ ﮐﻪ ﯾﮏ ﺳﺮور ﺑﻪ ﻓﺮض ﯾﮏ رﮐﻮردي را درﯾﺎﻓﺖ ﻣﯿﮑﻨﺪ و آن را در دﯾﺘﺎﺑﯿﺲ ذﺧﯿﺮه ﻣﯿﮑﻨﺪ ﺑﻘﯿﻪ ي ﺳﺮورﻫﺎ اﺟﺎزه ي دﺳﺘﺮﺳﯽ ﺑﻪ آن رﮐﻮرد را ﻧﺪارﻧﺪ ﺗﺎ زﻣﺎﻧﯽ ﮐﻪ ﺑﻘﯿﻪ ي ﺳﺮورﻫﺎ ﻧﯿﺰ آن رﮐﻮرد را در دﯾﺘﺎﺑﯿﺲ ﺧﻮد ذﺧﯿﺮه ﮐﻨﻨﺪ.
NLB ﻋﻼوه ﺑﺮ دﺳﺘﺮﺳﯽ ﺑﺎﻻﺗﺮ و راﺣﺘﯽ ﺑﯿﺸﺘﺮ ﻗﺎﺑﻠﯿﺖ ﺑﺰرﮔﺘﺮ ﺷﺪن ﻣﻘﯿﺎس را ﻧﯿﺰ دارد. ﻫﻨﮕﺎﻣﯽ ﮐﻪ ﺗﻌﺪاد درﺧﻮاﺳﺘﻬﺎ ﺑﯿﺸﺘﺮ ﻣﯿﺸﻮد ﺗﻨﻬﺎ ﮐﺎري ﮐﻪ ﻣﯿﺸﻮد اﯾﻦ اﺳﺖ ﺗﻌﺪاد ﺳﺮورﻫﺎي ﮐﻼﺳﺘﺮ را ﺑﯿﺸﺘﺮ ﮐﺮد ﮐﻪ در اﯾﻦ ﺻﻮرت ﻫﺮ ﺳﺮور ﺗﻌﺪاد درﺧﻮاﺳﺖ ﮐﻤﺘﺮي را ﭘﺮدازش ﻣﯿﮑﻨﺪ. ﺗﻤﺎﻣﯽ ﻧﺴﺨﻪ ﻫﺎي وﯾﻨﺪوز 2003 ﺑﺮاي ﻫﺮ ﮐﻼﺳﺘﺮ 32 ﺳﺮور را ﭘﺸﺘﯿﺒﺎﻧﯽ ﻣﯿﮑﻨﻨﺪ.

پیاده سازی و کلاستر کردن

اوﻟﯿﻦ ﻧﮑﺘﻪ اي ﮐﻪ ﺑﺎﯾﺪ ﻗﺒﻞ از ﺗﺼﻤﯿﻢ ﺑﻪ ﮐﻼﺳﺘﺮ ﮐﺮدن ﯾﮏ ﺳﺮي ﺳﺮور ﻣﺪ ﻧﻈﺮ داﺷﺘﻪ ﺑﺎﺷﯿﺪ اﯾﻦ اﺳﺖ ﮐﻪ ﻫﺪف ﺷﻤﺎ از ﮐﻼﺳﺘﺮ ﮐﺮدن ﭼﯿﺴﺖ و ﭼﻪ اﻧﺘﻈﺎري از ﮐﻼﺳﺘﺮﯾﻨﮓ ﺧﻮد دارﯾﺪ ﯾﺎ ﺑﻪ ﻋﺒﺎرت دﯾﮕﺮ ﭼﻘﺪر ﺑﻪ دﺳﺘﺮﺳﯽ ﺑﺎﻻﺗﺮ، راﺣﺘﯽ ﺑﯿﺸﺘﺮ و ﯾﺎ ﻣﻘﯿﺎس ﺑﺰرﮔﺘﺮ ﻧﯿﺎز دارﯾﺪ. ﺑﺮاي ﺑﺮﺧﯽ از ﺳﺎزﻣﺎن ﻫﺎ ﮐﻪ دﺳﺘﺮﺳﯽ ﺑﺎﻻﺗﺮ و ﺑﯿﺸﺘﺮي را ﻣﯿﻄﻠﺒﻨﺪ ﮐﻼﺳﺘﺮﯾﻨﮓ ﺑﺎ دﺳﺘﺮﺳﯽ ﺑﯿﺸﺘﺮ ﺑﻪ اﯾﻦ ﻣﻌﻨﯽ اﺳﺖ ﮐﻪ از ﮐﺎر اﻓﺘﺎدن ﺳﺮورﻫﺎ و ﺑﺮﻧﺎﻣﻪ ي آﻧﻬﺎ ﺑﻪ ﻫﯿﭻ وﺟﻪ ﻗﺎﺑﻞ ﻗﺒﻮل ﻧﯿﺴﺖ و ﮐﻼﺳﺘﺮﯾﻨﮓ ﺑﺎﯾﺪ راه ﺣﻠﯽ ﺑﺮاي ﺳﻪ ﻣﺸﮑﻞ عمده ي زﯾﺮ ﭘﯿﺪا ﮐﻨﺪ:

  1. خطاهای نرم افزاری: بسیاری از ﺧﻄﺎﻫﺎ ﻣﻤﮑﻦ اﺳﺖ ﺑﺎﻋﺚ اﯾﻦ ﺷﻮد ﮐﻪ ﯾﮏ ﺑﺮﻧﺎﻣﻪ ﺑﻪ درﺳﺘﯽ ﮐﺎر ﻧﮑﻨﺪ. ﺧﻮد ﺑﺮﻧﺎﻣﻪ ﺑﺎ درﺳﺖ ﮐﺎر ﻧﮑﺮدن ﻣﯿﺘﻮاﻧﺪ ﯾﮏ دﻟﯿﻞ ﺑﺎﺷﺪ، ﺑﺨﺸﯽ از اﺟﺰاي ﺳﯿﺴﺘﻢ ﻣﯿﺘﻮاﻧﺪ ﺑﺎﻋﺚ اﯾﻦ ﮐﺎر ﺷﻮد ﯾﺎ اﯾﻨﮑﻪ ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ ﯾﮏ ﺳﺮي ﻣﺸﮑﻼت را داﺷﺘﻪ ﺑﺎﺷﺪ ﮐﻪ ﺑﺎﻋﺚ ﺷﻮد ﺗﻤﺎﻣﯽ ﺑﺮﻧﺎﻣﻪ ﻫﺎ ﺑﺎ ﻣﺸﮑﻞ اﺟﺮا ﺷﻮﻧﺪ. ﻣﺸﮑﻼت ﻧﺮم اﻓﺰاري ﻣﯿﺘﻮاﻧﺪ ﺑﺎ آﭘﮕﺮﯾﺪ ﮐﺮدن ﺳﺨﺖ اﻓﺰاري ﻧﯿﺰ رخ دﻫﺪ، ﻣﻤﮑﻦ اﺳﺖ ﺑﺎ ﺑﺮﻧﺎﻣﻪ ﻫﺎي ﺟﺪﯾﺪ ﮐﻪ روي ﺳﯿﺴﺘﻢ ﻧﺼﺐ ﻣﯿﺸﻮد ﻫﻤﺨﻮاﻧﯽ ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ و اﻟﺒﺘﻪ ﯾﺎ ﺑﺎ وﺟﻮد وﯾﺮوس ﯾﺎ ﻫﺮ ﮐﺪ ﻣﺨﺮب دﯾﮕﺮي درون ﺳﯿﺴﺘﻢ. اﻣﺎ ﺗﺎ زﻣﺎﻧﯽ ﮐﻪ ﻣﺪﯾﺮ اﻗﺪاﻣﺎت و ﭘﯿﺸﮕﯿﺮي ﻫﺎي ﻻزم را اﻧﺠﺎم دﻫﺪ ) ﺑﺮاي ﻣﺜﺎل ﻧﺼﺐ ﻧﮑﺮدن آﭘﺪﯾﺖ ﻫﺎي ﻧﺮم اﻓﺰاري در ﺗﻤﺎﻣﯽ ﺳﺮورﻫﺎي ﯾﮏ ﮐﻼﺳﺘﺮ ( ﯾﮏ ﮐﻼﺳﺘﺮ ﻣﯿﺘﻮاﻧﺪ ﺑﺮﻧﺎﻣﻪ را در دﺳﺘﺮس ﮐﻼﯾﻨﺖ ﻫﺎ ﻗﺮار دﻫﺪ ﻫﺮﭼﻨﺪ ﮐﻪ ﻣﻤﮑﻦ اﺳﺖ ﯾﮏ ﯾﺎ ﭼﻨﺪ ﻋﺪد از ﺳﺮورﻫﺎي ﮐﻼﯾﻨﺖ ﺑﺎ ﺑﺮﻧﺎﻣﻪ ﻣﺸﮑﻞ داﺷﺘﻪ ﺑﺎﺷﻨﺪ.
  2. مشکلات سخت افزاری: ﻫﺎرد دراﯾﻮ، ﻓﻦ ﻫﺎي ﺧﻨﮏ ﮐﻨﻨﺪه، ﻣﻨﺎﺑﻊ ﺗﻐﺬﯾﻪ و ﺑﻘﯿﻪ ي اﺟﺰاي ﺳﺨﺖ اﻓﺰاري ﻣﯿﺘﻮاﻧﺪ ﺑﺎﻋﺚ ﻣﺸﮑﻞ ﺷﻮد ﮐﻪ در اﯾﻦ ﺣﺎﻟﺖ ﮐﻼﺳﺘﺮﯾﻨﮓ ﺑﺮﻧﺎﻣﻪ ي ﮐﻤﮑﯽ را اﺟﺮا ﻣﯿﮑﻨﺪ در ﺻﻮرﺗﯽ ﮐﻪ ﻣﻤﮑﻦ اﺳﺖ ﺧﻄﺎﯾﯽ ﺳﺨﺖ اﻓﺰاري رخ داده ﺑﺎﺷﺪ. ﻋﻼوه ﺑﺮ اﯾﻦ ﮐﻼﺳﺘﺮﯾﻨﮓ ﻣﯿﺘﻮاﻧﺪ اﯾﻦ اﻣﮑﺎن را ﺑﻪ ﻣﺪﯾﺮان ﻣﯿﺪﻫﺪ ﮐﻪ ﺑﺘﻮاﻧﻨﺪ ﮐﺎرﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﻧﮕﻬﺪاري ﺳﺨﺖ اﻓﺰاري را اﻧﺠﺎم دﻫﻨﺪ ﺑﺪون اﯾﻦ ﮐﻪ ﻣﺠﺒﻮر ﺑﻪ از ﺳﺮوﯾﺲ ﺧﺎرج ﮐﺮدن ﯾﮏ ﺑﺮﻧﺎﻣﻪ ﺣﯿﺎﺗﯽ ﺑﺎﺷﻨﺪ.
  3. مشکلات مکانی: در یک ﮐﻼﺳﺘﺮ ﮐﻪ از ﻧﻈﺮ ﺟﻐﺮاﻓﯿﺎﯾﯽ داراي ﺳﺮورﻫﺎي ﭘﺮاﮐﻨﺪه ﻣﯿﺒﺎﺷﺪ، ﺳﺮورﻫﺎ ﻣﻤﮑﻦ اﺳﺖ در ﺳﺎﺧﺘﻤﺎن ﻫﺎي ﻣﺨﺘﻠﻒ ﯾﺎ ﺷﻬﺮﻫﺎي ﻣﺨﺘﻠﻒ ﺑﺎﺷﻨﺪ، ﺻﺮف ﻧﻈﺮ از اﯾﻨﮑﻪ ﺑﺎ اﯾﻦ ﮐﺎر ﻣﯿﺘﻮان ﻧﺮم اﻓﺰارﻫﺎي ﺣﯿﺎﺗﯽ را در ﻧﻘﺎط ﻣﺨﺘﻠﻒ ﺑﺮاي ﮐﺎرﺑﺮان ﻣﺨﺘﻠﻒ ﻗﺎﺑﻞ دﺳﺘﺮس ﺳﺎﺧﺖ ﻣﺰﯾﺖ دﯾﮕﺮ اﯾﻦ روش اﯾﻦ اﺳﺖ ﮐﻪ اﮔﺮ ﻫﺮ ﺣﺎدﺛﻪ اي ﻫﻤﺎﻧﻨﺪ آﺗﺶ ﺳﻮزي ﯾﮑﯽ از ﻣﮑﺎن ﻫﺎي ﮐﻼﺳﺘﺮﯾﻨﮓ را از ﺑﯿﻦ ﺑﺒﺮد ﺑﺎز ﻫﻢ ﮐﻼﺳﺘﺮﯾﻨﮓ ﺑﺮﻧﺎﻣﻪ را در دﺳﺘﺮس ﻗﺮار ﻣﯿﺪﻫﺪ.

(High Availability) ﻣﯿﺰان دﺳﺘﯿﺎﺑﯽ ﺑﺎﻻ

ﻣﯿﺰان دﺳﺘﯿﺎﺑﯽ ﮐﻪ ﺷﻤﺎ ﻧﯿﺎز دارﯾﺪ ﺑﻪ ﮔﻮﻧﺎﮔﻮﻧﯽ ﻓﺎﮐﺘﻮرﻫﺎي ﺷﻤﺎ ﺑﺴﺘﮕﯽ دارد ﮐﻪ ﺷﺎﻣﻞ ﻧﻮع ﺑﺮﻧﺎﻣﻪ ﻫﺎﯾﯽ ﮐﻪ اﺟﺮا ﻣﯿﮑﻨﯿﺪ، اﻧﺪازه، ﻣﮑﺎن و ﺗﻘﺴﯿﻢ ﻣﮑﺎﻧﻬﺎي ﮐﺎرﺑﺮان و ﻧﻘﺶ ﺑﺮﻧﺎﻣﻪ ﻫﺎ در ﺳﺎزﻣﺎن ﺷﻤﺎ ﻣﯿﺒﺎﺷﺪ. در ﺑﺮﺧﯽ از ﻣﻮارد داﺷﺘﻦ ﯾﮏ ﺑﺮﻧﺎﻣﻪ اي ﮐﻪ ﻫﻤﯿﺸﻪ در دﺳﺘﺮس ﮐﺎرﺑﺮان ﺑﺎﺷﺪ (ﻫﻤﯿﺸﻪ در ﺣﺎل اﺟﺮا ﺑﺎﺷﺪ) ﺑﺮاي راﺣﺘﯽ ﺑﯿﺸﺘﺮ ﺧﻮاﻫﺪ ﺑﻮد اﻣﺎ در ﺣﺎﻟﺘﯽ دﯾﮕﺮ اﯾﻦ اﻣﺮ ﺿﺮوري ﻣﯿﺒﺎﺷﺪ. ﻣﻘﺪار ﻗﺎﺑﻞ دﺳﺘﯿﺎﺑﯽ ﺑﻮدن ﯾﮏ ﺑﺮﻧﺎﻣﻪ در ﯾﮏ ﺳﺎزﻣﺎﻧﯽ ﮐﻪ ﺑﻪ آن ﺑﺮﻧﺎﻣﻪ ﻧﯿﺎز دارد ﻣﯿﺘﻮاﻧﺪ ﺑﻪ روش ﻫﺎي ﻣﺨﺘﻠﻒ در ﺗﻨﻈﯿﻢ و ﭘﯿﮑﺮﺑﻨﺪي ﮐﻼﺳﺘﺮﯾﻨﮓ آن ﻧﻘﺶ داﺷﺘﻪ ﺑﺎﺷﺪ ﮐﻪ از ﺟﻤﻠﻪ اي اﻧﻬﺎ ﻣﯿﺘﻮان ﺑﻪ ﻧﻮع ﮐﻼﺳﺘﺮي ﮐﻪ اﺳﺘﻔﺎده ﻣﯿﺸﻮد، ﺗﻌﺪاد ﺳﺮورﻫﺎ در ﮐﻼﺳﺘﺮ، ﺗﻮزﯾﻊ ﺑﺮﻧﺎﻣﻪ ﻫﺎ روي ﺳﺮورﻫﺎي ﮐﻼﺳﺘﺮ و ﻣﮑﺎن ﺳﺮورﻫﺎي ﮐﻼﺳﺘﺮ اﺷﺎره ﮐﺮد. در دﺳﺘﺮس ﺑﻮدن ﻣﻌﻤﻮﻻً ﺑﻪ ﺻﻮرت درﺻﺪي از زﻣﺎن ﺑﯿﺎن ﻣﯿﺸﻮد ﮐﻪ ﯾﮏ ﺑﺮﻧﺎﻣﻪ ﻣﯿﺘﻮاﻧﺪ در ﺣﺎﻟﺖ اﺟﺮا ﺑﺎﻗﯽ ﺑﻤﺎﻧﺪ ﺑﺮاي ﻣﺜﺎل Availability ﻗﺎﺑﻞ دﺳﺘﺮس ﺑﻮدن 99% ﺑﻪ اﯾﻦ ﻣﻌﻨﯽ اﺳﺖ ﯾﮏ ﺑﺮﻧﺎﻣﻪ ﺑﺮاي ﻣﺪت 87.6 ﺳﺎﻋﺖ از ﮐﻞ ﯾﮏ ﺳﺎل را ﻧﻤﯿﺘﻮاﻧﺪ در ﺣﺎل اﺟﺮا ﺑﺎﺷﺪ ﯾﻌﻨﯽ ﺑﺮﻧﺎﻣﻪ اي ﮐﻪ 99% ﻗﺎﺑﻠﯿﺖ در دﺳﺘﺮﺳﯽ ﺑﻮدن را دارد ﻧﻤﯿﺘﻮاﻧﺪ ﺑﯿﺸﺘﺮ از87.6 ﺳﺎﻋﺖ از اﺟﺮا ﺧﺎرج ﺷﻮد. ﺑﺮاي ﺑﻪ دﺳﺖ آوردن ﻣﯿﺰان دﺳﺘﺮﺳﯽ ﻧﻤﯿﺘﻮان ﻓﻘﻂ ﺑﻪ ﭘﯿﺎده ﺳﺎزي ﮐﻼﺳﺘﺮﯾﻨﮓ ﺗﻮﺟﻪ داﺷﺖ ﺑﻠﮑﻪ ﺑﺮاي اﯾﻨﮑﺎر ﻧﯿﺎز ﺑﻪ ﻧﺼﺐ ﺳﺨﺖ اﻓﺰار ﺟﺎﻧﺒﯽ دﯾﮕﺮ ﻫﻢ دارﯾﺪ ﮐﻪ ﺑﺘﻮاﻧﺪ ﻣﯿﺰان ﮐﺎراﯾﯽ ﺳﺨﺖ اﻓﺰار و ﻧﺮم اﻓﺰار را ارزﯾﺎﺑﯽ و آﻧﻬﺎ را ﺗﺴﺖ ﮐﻨﺪ و ﻫﻤﭽﻨﯿﻦ ﺳﯿﺎﺳﺘﻬﺎﯾﯽ را ﺑﺮاي ﮐﻞ ﺳﺎﺧﺘﻤﺎن IT ﺧﻮد ﭘﯿﺎده ﺳﺎزي ﮐﻨﯿﺪ. ﺑﻪ ﻣﺠﺮد اﯾﻨﮑﻪ ﺗﻘﺎﺿﺎي دﺳﺘﺮﺳﯽ ﺑﻪ ﺑﺮﻧﺎﻣﻪ ﺑﺎﻻﺗﺮ ﻣﯿﺮود ﻣﯿﺰان زﻣﺎن، ﭘﻮل و ﺗﻼﺷﯽ ﮐﻪ ﺑﺮاي دﺳﺘﯿﺎﺑﯽ ﺑﻪ آن ﻣﯿﺰان دﺳﺘﺮﺳﯽ ﻣﻮرد ﯿﺎز اﺳﺖ ﻧﯿﺰ ﺑﯿﺸﺘﺮ ﻣﯿﺸﻮد. ﻣﻤﮑﻦ اﺳﺖ ﻓﮑﺮ ﮐﻨﯿﺪ ﮐﻪ ﺑﺮاي ﻣﺜﺎل رﺳﯿﺪن از95 % راﺣﺘﯽ Reliability ﺑﻪ 99% ﮐﺎر راﺣﺘﯽ ﺑﺎﺷﺪ اﻣﺎ در واﻗﻊ ﻗﯿﻤﺖ ﻧﻬﺎﯾﯽ ﺑﺴﯿﺎر ﮔﺮان ﺗﻤﺎم ﺧﻮاﻫﺪ ﺷﺪ.

(Scaling Clusters) اﻓﺰاﯾﺶ ﻣﻘﯿﺎس ﮐﻼﺳﺘﺮ

کلاسترینگ ﻗﺎﺑﻠﯿﺖ ﭘﯿﺎده ﺳﺎزي در ﻣﻘﯿﺎس ﻫﺎي ﺑﺰرﮔﺘﺮ را دارﻧﺪ ﺑﺪﯾﻦ ﻣﻌﻨﯽ ﮐﻪ ﺷﻤﺎ ﻣﯿﺘﻮانید ﮐﺎراﯾﯽ ﮐﻼﺳﺘﺮ ﺧﻮد را ﻣﻄﺎﺑﻖ ﻧﯿﺎز ﺧﻮد و ﻣﯿﺰان رﺷﺪ ﺳﺎزﻣﺎن ﺧﻮد ﺑﺎﻻ ﺑﺒﺮﯾﺪ.
Sacling Up : اﻓﺰاﯾﺶ ﮐﺎراﯾﯽ ﺳﺮورﻫﺎ ﺑﺎ ارﺗﻘﺎ دادن ﺳﺨﺖ اﻓﺰار آﻧﻬﺎ، اﺿﺎﻓﻪ ﮐﺮدن RAM، ﯾﺎ ﮐﺶ L2، ﻗﺮار دادنCPU ﻫﺎي ﺳﺮﯾﻌﺘﺮ از راه ﻫﺎﯾﯽ ﻫﺴﺘﻨﺪ ﮐﻪ ﻣﯿﺘﻮان ﺑﻪ اﻓﺰاﯾﺶ ﮐﺎراﯾﯽ ﮐﻼﺳﺘﺮ ﮐﻤﮏ ﮐﻨﺪ. ﺑﻬﺒﻮد ﮐﺎراﯾﯽ در اﯾﻦ روش ﺑﻪ ﻧﻮع ﭘﯿﺎده ﺳﺎزي ﮐﻼﺳﺘﺮ ﺷﻤﺎ ﻧﯿﺰ واﺑﺴﺘﻪ ﻣﯿﺒﺎﺷﺪ. و ﺷﻤﺎ ﺑﺎﯾﺪ اﯾﻦ ﻣﯿﺰان اﻓﺰاﯾﺶ ﺗﻮاﻧﺎﯾﯽ را ﺑﺮاي ﺗﻤﺎﻣﯽ ﺳﺮورﻫﺎ اﻋﻤﺎل ﮐﻨﯿﺪ ﭼﺮا ﮐﻪ ﻣﻤﮑﻦ اﺳﺖ ﮐﺎﻣﭙﯿﻮﺗﺮ ﻓﻌﺎل داراي ﻗﺪرت ﺑﯿﺸﺘﺮي ﺑﺎﺷﺪ و زﻣﺎﻧﯽ ﮐﻪ از ﮐﺎر ﻣﯿﺎﻓﺘﺪ ﮐﺎﻣﭙﯿﻮﺗﺮﻫﺎي ﻏﯿﺮﻓﻌﺎل ﻧﺘﻮاﻧﻨﺪ ﻣﯿﺰان ﮐﺎر درﺧﻮاﺳﺖ ﺷﺪه را اﻧﺠﺎم دﻫﻨﺪ ﺑﻨﺎﺑﺮاﯾﻦ ﺑﺎﯾﺪ ﺗﻤﺎﻣﯽ ﺳﺮورﻫﺎي ﮐﻼﺳﺘﺮ در ﯾﮏ ﺳﻄﺢ از ﺗﻮاﻧﺎﯾﯽ ﻗﺮار داﺷﺘﻪ ﺑﺎﺷﻨﺪ.
Scaling Out : اﺿﺎﻓﻪ ﮐﺮدن ﺳﺮور ﺑﻪ ﮐﻼﺳﺘﺮ. زﻣﺎﻧﯽ ﮐﻪ ﺷﻤﺎ ﯾﮏ ﺳﺮي درﺧﻮاﺳﺖ را ﺑﯿﻦ ﺳﺮورﻫﺎ ﺗﻮزﯾﻊ ﻣﯿﮑﻨﯿﺪ ﺑﺎ اﻓﺰاﯾﺶ ﺳﺮورﻫﺎ اﯾﻦ ﻣﯿﺰان ﭘﺮدازش ﺑﺎ ﺗﻘﺴﯿﻢ ﺷﺪن ﮐﻤﺘﺮ ﻣﯿﺸﻮد، اﻓﺰاﯾﺶ ﺳﺮور را ﻣﯿﺘﻮاﻧﺪ در ﻫﺮ دو ﻧﻮع ﺳﺮورﮐﻼﺳﺘﺮ وNLB اﻧﺠﺎم داد.
اﺿﺎﻓﻪ ﮐﺮدن ﯾﮏ ﺳﺮور ﺟﺪﯾﺪ ﺑﻪ NLB ﮐﺎر راﺣﺘﯽ ﻣﯿﺒﺎﺷﺪ ﺑﻪ اﯾﻦ ﻋﻠﺖ ﮐﻪ ﻫﺮ ﺳﯿﺴﺘﻢ در اﯾﻦ ﮐﻼﺳﺘﺮ داراي ﻣﻨﺒﻊ اﻃﻼﻋﺎت ﻣﺴﺘﻘﻞ اﺳﺖ ﻟﺬا اﺿﺎﻓﻪ ﮐﺮدن ﯾﮏ ﺳﺮور ﺟﺪﯾﺪ ﮐﺎري راﺣﺖ ﻣﯿﺒﺎﺷﺪ، ﺑﻪ ﻃﻮري ﮐﻪ ﺑﺎ ﮐﭙﯽ ﮐﺮدن ﻣﻨﺒﻊ اﻃﻼﻋﺎت و ﺑﺮﻧﺎﻣﻪ درون ﺳﺮور ﺟﺪﯾﺪ ﻣﯿﺘﻮان آن را ﺑﻪ ﮐﻼﺳﺘﺮ اﺿﺎﻓﻪ ﻧﻤﻮد اﺿﺎﻓﻪ ﮐﺮدن ﯾﮏ ﺳﺮور ﺟﺪﯾﺪ ﺑﻪ ﮐﻼﺳﺘﺮ ﺳﺮور ﮐﻤﯽ ﭘﯿﭽﯿﺪه ﺗﺮ ازNLB ﻣﯿﺒﺎﺷﺪ، ﭼﺮا ﮐﻪ در اﯾﻦ ﻧﻮع ﮐﻼﺳﺘﺮ ﺗﻤﺎﻣﯽ ﺳﺮورﻫﺎ از ﯾﮏ ﻣﻨﺒﻊ اﻃﻼﻋﺎﺗﯽ ﻣﺸﺘﺮك اﺳﺘﻔﺎده ﻣﯿﮑﻨﻨﺪ، ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻨﻈﯿﻤﺎت ﺳﺨﺖ اﻓﺰاري ﺷﻤﺎ اﻓﺰاﯾﺶ ﻣﻘﯿﺎس ﻣﯿﺘﻮاﻧﺪ ﺑﺴﯿﺎر ﮔﺮان و ﯾﺎ ﺷﺎﯾﺪ ﻫﻢ ﻏﯿﺮ ﻣﻤﮑﻦ ﺑﺎﺷﺪ.
ﻣﺤﺪودﯾﺖ دﯾﮕﺮي ﻫﻢ ﺑﺮاي اﻓﺰاﯾﺶ ﻣﻘﯿﺎس ﮐﻼﺳﺘﺮﻫﺎ وﺟﻮد دارد و آن ﻧﻮع ﺳﯿﺴﺘﻢ ﻋﺎﻣﻠﯽ اﺳﺖ ﮐﻪ در ﺳﺮورﻫﺎ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﯿﮕﯿﺮد، زﻣﺎﻧﯽ ﮐﻪ اﻗﺪام ﺑﻪ اﻓﺰاﯾﺶ ﯾﮏ ﺳﺮور ﺟﺪﯾﺪ ﻣﯿﮑﻨﯿﺪ ﺑﺎﯾﺪ ﺑﺒﯿﻨﯿﺪ ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ ﺷﻤﺎ از ﭼﻪ ﻣﺎﮐﺰﯾﻤﻢ ﺳﺮوري ﭘﺸﺘﯿﺒﺎﻧﯽ ﻣﯿﮑﻨﺪ. ﻟﯿﺴﺖ زﯾﺮ ﻧﻮع ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ و ﺗﻌﺪاد ﻣﺎﮐﺰﯾﻤﻢ ﺳﺮورﻫﺎﯾﯽ ﮐﻪ ﭘﺸﺘﯿﺒﺎﻧﯽ ﻣﮑﻨﻨﺪ را ﻧﻤﺎﯾﺶ ﻣﯿﺪﻫﺪ:

همچنین ﻫﻨﮕﺎم ارﺗﻘﺎي ﺳﺨﺖ اﻓﺰاري ﺳﺮورﻫﺎ ﻧﯿﺰ ﻣﺤﺪودﯾﺖ ﻫﺎﯾﯽ از ﻃﺮف ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ وﺟﻮد دارد ﮐﻪ ﺑﻪ ﺷﺮح زﯾﺮ اﺳﺖ:

چه تعداد کلاستر؟

اگر شما قصد اجرای ﺑﯿﺶ از ﯾﮏ ﺑﺮﻧﺎﻣﻪ را ﺑﺎ ﻗﺎﺑﻠﯿﺖ دﺳﺘﺮﺳﯽ ﺑﺎﻻ داﺷﺘﻪ ﺑﺎﺷﯿﺪ ﺑﺎﯾﺪ ﺗﺼﻤﯿﻢ ﺑﮕﯿﺮﯾﺪ ﮐﻪ ﭼﻪ ﺗﻌﺪاد ﮐﻼﺳﺘﺮ ﻣﯿﺨﻮاﻫﯿﺪ داﺷﺘﻪ ﺑﺎﺷﯿﺪ. ﺳﺮورﮐﻼﺳﺘﺮﻫﺎ ﻣﯿﺘﻮاﻧﻨﺪ ﭼﻨﺪﯾﻦ ﺑﺮﻧﺎﻣﻪ را ﺑﻪ ﺻﻮرت ﻫﻤﺰﻣﺎن اﺟﺮا ﻧﻤﺎﯾﻨﺪ ﺑﻨﺎﺑﺮاﯾﻦ ﺷﻤﺎ ﻣﯿﺘﻮاﻧﯿﺪ ﺗﻌﺪادي ﺑﺮﻧﺎﻣﻪ را روي ﯾﮏ ﺳﺮور ﮐﻼﺳﺘﺮ اﺟﺮا ﻧﻤﺎﯾﯿﺪ ﯾﺎ اﯾﻨﮑﻪ ﺳﺮور ﮐﻼﺳﺘﺮﻫﺎي ﺟﺪا اﯾﺠﺎد ﻧﻤﺎﯾﯿﺪ ﺗﺎ ﻫﺮ ﮐﺪام ﯾﮏ ﺑﺮﻧﺎﻣﻪ را اﺟﺮا ﻧﻤﺎﯾﻨﺪ.

کلاﺳﺘﺮ ﺳﺮور ﺟﺪا ﺑﺮاي ﺑﺮﻧﺎﻣﻪ ﻫﺎ

ﺷﻤﺎ دو ﺑﺮﻧﺎﻣﻪ Statefull دارﯾﺪ و ﻗﺼﺪ اﺟﺮاي اﯾﻦ ﺑﺮﻧﺎﻣﻪ ﻫﺎ را ﺑﺎ اﺳﺘﻔﺎده از ﺳﺮورﮐﻼﺳﺘﺮ دارﯾﺪ، ﺳﺎده ﺗﺮﯾﻦ روش اﯾﻦ اﺳﺖ ﮐﻪ ﯾﮏ ﺳﺮورﮐﻼﺳﺘﺮ اﯾﺠﺎد ﮐﻨﯿﺪ و ﻫﺮ دو ﺑﺮﻧﺎﻣﻪ را روي ﺳﺮورﻫﺎي آن اﺟﺮا ﻧﻤﺎﯾﯿﺪ. اﮔﺮ ﯾﮑﯽ از ﮐﺎﻣﭙﯿﻮﺗﺮﻫﺎ ﺑﺎ ﺧﻄﺎ ﻣﻮاﺟﻪ ﺷﺪه و از ﺳﺮوﯾﺲ ﺧﺎرج ﺷﻮد ﺑﺎﻗﯽ ﺳﺮورﻫﺎ ﺑﺎﯾﺪ ﺗﻮاﻧﺎﯾﯽ اﺟﺮاي ﺑﺮﻧﺎﻣﻪ ﻫﺎي آن را داﺷﺘﻪ ﺑﺎﺷﻨﺪ.

ترکیبی از دو حالت قبلی

روش دﯾﮕﺮ اﯾﺠﺎد ﮐﻼﺳﺘﺮ ﺳﺮور ﺟﺪا ﺑﺮاي ﻫﺮ ﺑﺮﻧﺎﻣﻪ اﺳﺖ ﮐﻪ ﺳﺮورﻫﺎي ﻫﺮ ﮐﻼﺳﺘﺮ ﺑﻪ ﺻﻮرت ﺟﺪاﮔﺎﻧﻪ ﮐﺎر ﻣﯿﮑﻨﻨﺪ و ﺧﻄﺎﯾﯽ در ﻫﺮ ﮐﻼﺳﺘﺮ ﺑﺎﻋﺚ ﺗﺎﺛﯿﺮ ﮔﺬاري روي ﺑﺮﻧﺎﻣﻪ ي ﻫﻤﺎن ﮐﻼﺳﺘﺮ ﻣﯿﺸﻮد، ﺷﺒﻪ ﻋﻼوه ﺳﺮورﻫﺎي ﺑﺎﻗﯽ ﻣﺎﻧﺪه ﺗﻨﻬﺎ ﯾﮏ ﺑﺮﻧﺎﻣﻪ را ﺳﺮوﯾﺲ دﻫﯽ ﻣﯿﻨﻤﺎﯾﻨﺪ. اﯾﺠﺎد ﺳﺮورﻫﺎي ﺟﺪا از ﻗﺎﺑﻠﯿﺖ دﺳﺘﺮﺳﯽ ﺑﺎﻻﺗﺮي ﺑﺮﺧﻮردار اﺳﺖ اﻣﺎ ﭘﯿﺎده ﺳﺎزي آن ﮔﺮاﻧﺘﺮ ﺗﻤﺎم ﻣﯿﺸﻮد ﭼﺮا ﮐﻪ ﻧﯿﺎز ﺑﻪ ﺗﻌﺪاد ﺳﺮورﻫﺎي ﺑﯿﺸﺘﺮي اﺳﺖ.

ﻋﻼوه ﺑﺮ اﯾﻦ ﺷﻤﺎ ﻣﯿﺘﻮاﻧﯿﺪ ﺗﺮﮐﯿﺒﯽ از اﯾﻦ دو ﺣﺎﻟﺖ را ﻧﯿﺰ داﺷﺘﻪ ﺑﺎﺷﯿﺪ ﻃﻮري ﮐﻪ ﯾﮏ ﮐﻼﺳﺘﺮ ﺳﺮور اﯾﺠﺎد ﮐﻨﯿﺪ ﮐﻪ در ان دو ﺳﺮور ﻓﻌﺎل داﺷﺘﻪ ﺑﺎﺷﯿﺪ و ﻫﺮ ﮐﺪام از ﺑﺮﻧﺎﻣﻪ ﻫﺎ رو روي ﯾﮏ ﺳﺮور ﻓﻌﺎل ﻧﺼﺐ ﻧﻤﺎﯾﯿﺪ. و ﯾﮏ ﺳﺮور ﻏﯿﺮﻓﻌﺎل داﺷﺘﻪ ﺑﺎﺷﯿﺪ ﮐﻪ ﺑﻪ ﻋﻨﻮان ﭘﺸﺘﯿﺒﺎن ﻫﺮ دو ﺑﺮﻧﺎﻣﻪ را روي آن ﻧﺼﺐ ﻧﻤﺎﯾﯿﺪ. در ﺻﻮرﺗﯽ ﮐﻪ ﯾﮑﯽ از ﺳﺮورﻫﺎي ﻓﻌﺎل از ﺳﺮوﯾﺲ ﺧﺎرج ﺷﻮد ﺳﺮور ﻏﯿﺮﻓﻌﺎل وﻇﯿﻔﻪ ي آن را ﺑﻪ ﻋﻬﺪه ﻣﯿﮕﯿﺮد در ﺻﻮرﺗﯽ ﮐﻪ ﻫﺮ دو ﺳﺮور ﻓﻌﺎل از ﺳﺮوﯾﺲ ﺧﺎرج ﺷﻮﻧﺪ ﺳﺮور ﻏﯿﺮﻓﻌﺎل ﺑﻪ ﺟﺎي ﻫﺮ دو ﺳﺮور دﯾﮕﺮ ﺳﺮوﯾﺲ دﻫﯽ ﻣﯿﻨﻤﺎﯾﺪ. ﺑﺴﺘﮕﯽ ﺑﻪ ﺷﻤﺎ دارد ﮐﻪ ﺗﻮاﻧﺎﯾﯽ و ﻇﺮﻓﯿﺖ ﺳﺮور ﻏﯿﺮﻓﻌﺎل در ﺣﺪ اﺟﺮاي ﯾﮏ ﺑﺮﻧﺎﻣﻪ ﺑﺎﺷﺪ ﯾﺎ ﻫﺮ دو ﺑﺮﻧﺎﻣﻪ

ادﻏﺎم دو ﺗﮑﻨﻮﻟﻮژي ﮐﻼﺳﺘﺮﯾﻨﮓ ﺳﺮور ﮐﻼﺳﺘﺮ و NLB ﺑﺎ ﻫﻢ

تصمیم ﺑﺮاي اﯾﻨﮑﻪ از ﭼﻪ ﻧﻮع ﮐﻼﺳﺘﺮﯾﻨﮕﯽ (NLB ﯾﺎ Server Clusters) ﺑﺮاي ﮐﻼﺳﺘﺮ ﮐﺮدن ﺧﻮد اﺳﺘﻔﺎده ﻣﯿﮑﻨﯿﺪ ﺑﻪ ﻧﻮع ﺑﺮﻧﺎﻣﻪ ي ﺷﻤﺎ ﺑﺴﺘﮕﯽ دارد. اﻣﺎ در ﺑﺮﺧﯽ ﻣﻮاﻗﻊ ﺑﺮاي ﺑﺎزدﻫﯽ ﺑﻬﺘﺮ ﻣﯿﺘﻮان ﮐﻼﺳﺘﺮﻫﺎ را ﺑﺎ ﻫﻢ دﯾﮕﺮ ﺗﺮﮐﯿﺐ ﻧﻤﻮد و ﺑﺮﻧﺎﻣﻪ ﻫﺎ را ﺑﺎ ﮐﯿﻔﯿﺖ ﺑﻬﺘﺮي از ﻟﺤﺎظ Availablity اﺟﺮا نمود. ﺑﻬﺘﺮﯾﻦ ﻣﺜﺎل ﺑﺮاي اﯾﻦ ﮔﻮﻧﻪ ﺳﺮورﻫﺎ ﻣﯿﺘﻮاﻧﺪ ﺳﯿﺴﺘﻢ ﺧﺮﯾﺪ اﻟﮑﺘﺮوﻧﯿﮑﯽ ﺑﺎﺷﺪ ﮐﻪ وب ﺳﺎﯾﺖ ﺑﻪ ﮐﺎرﺑﺮان اﺟﺎزه ﻣﯿﺪﻫﺪ ﺑﻪ ﺻﻮرت آﻧﻼﯾﻦ ﺧﺮﯾﺪ ﻧﻤﺎﯾﻨﺪ. در اﯾﻦ ﻧﻮع ﻃﺮاﺣﯽ وب ﺳﺮورﻫﺎ ) ﮐﻪ از ﻧﻮع ﺑﺮﻧﺎﻣﻪ ﻫﺎي Stateless ﻫﺴﺘﻨﺪ ( اﺟﺮاي ﺧﻮد ﺳﺎﯾﺖ را ﺑﻪ ﻋﻬﺪه ﻣﯿﮕﯿﺮﻧﺪ و ﺳﺮورﻫﺎي دﯾﺘﺎﺑﯿﺲ ) ﮐﻪ از ﻧﻮع ﺑﺮﻧﺎﻣﻪ ﻫﺎي Statefull ﻫﺴﺘﻨﺪ ( وﻇﯿﻔﻪ ي ذﺧﯿﺮه ي اﻃﻼﻋﺎت ﻣﺸﺘﺮﯾﺎن، ﻣﺤﺼﻮﻻت و ﺳﻔﺎرﺷﺎت ﺧﺮﯾﺪ آﻧﻬﺎ را ذﺧﯿﺮه ﻣﯿﮑﻨﻨﺪ و ﺷﻤﺎ ﻣﯿﺘﻮاﻧﯿﺪ از ﮐﻼﺳﺘﺮ NLB ﺑﺮاي ﻣﯿﺰﺑﺎﻧﯽ وب ﺳﺮورﻫﺎ اﺳﺘﻔﺎده ﮐﻨﯿﺪ از Server Cluster ﻫﺎ ﺑﺮاي ﺳﺮورﻫﺎي ﺑﺎﻧﮏ اﻃﻼﻋﺎﺗﯽ اﺳﺘﻔﺎده ﻧﻤﺎﯾﯿﺪ.

.

برای مطالعه ادامه این مقاله روی لینک زیر کلیک نمایید