Mikhail Salosin. Halawai ʻo Golang. Ke hoʻohana nei iā Go ma ka hope o ka noi Look+

Mikhail Salosin (ma hope aku - MS): - Aloha kākou! ʻO Michael koʻu inoa. Hana wau ma ke ʻano he mea hoʻomohala hope ma MC2 Software, a e kamaʻilio wau e pili ana i ka hoʻohana ʻana iā Go ma ka hope o ka polokalamu kelepona Look +.

Mikhail Salosin. Halawai ʻo Golang. Ke hoʻohana nei iā Go ma ka hope o ka noi Look+

Makemake paha kekahi i ka hockey?

Mikhail Salosin. Halawai ʻo Golang. Ke hoʻohana nei iā Go ma ka hope o ka noi Look+

A laila no ʻoe kēia noi. No Android a me iOS a hoʻohana ʻia e nānā i nā hoʻolaha o nā hanana haʻuki like ʻole ma ka pūnaewele a hoʻopaʻa ʻia. Aia ka palapala noi i nā helu helu like ʻole, nā hoʻolaha kikokikona, nā papa no nā hālāwai kūkā, nā hoʻokūkū a me nā ʻike ʻē aʻe e pono ai nā mea pā.

Mikhail Salosin. Halawai ʻo Golang. Ke hoʻohana nei iā Go ma ka hope o ka noi Look+

Aia i loko o ka noi kekahi mea e like me nā manawa wikiō, ʻo ia hoʻi hiki iā ʻoe ke nānā i nā manawa koʻikoʻi o nā pāʻani (nā pahu hopu, nā hakakā, nā pana, a me nā mea ʻē aʻe). Inā ʻaʻole ʻoe makemake e nānā i ka hoʻolaha holoʻokoʻa, hiki iā ʻoe ke nānā i nā mea hoihoi loa.

He aha kāu i hoʻohana ai i ka hoʻomohala ʻana?

Ua kākau ʻia ka hapa nui ma Go. Ua kākau ʻia ka API i kamaʻilio ʻia e nā mea kūʻai kelepona ma Go. Ua kākau pū ʻia kahi lawelawe no ka hoʻouna ʻana i nā leka hoʻolaha i nā kelepona paʻalima ma Go. Pono mākou e kākau i kā mākou ORM pono'ī, a mākou e kamaʻilio ai i kekahi lā. ʻAe, ua kākau ʻia kekahi mau lawelawe liʻiliʻi ma Go: hoʻololi a hoʻouka i nā kiʻi no nā mea hoʻoponopono...

Ua hoʻohana mākou i ka PostgreSQL ma ke ʻano he waihona. Ua kākau ʻia ka mea hoʻoponopono hoʻoponopono ma Ruby on Rails me ka hoʻohana ʻana i ka gem ActiveAdmin. ʻO ka lawe ʻana i nā ʻikepili mai kahi mea hāʻawi helu helu ua kākau pū ʻia ma Ruby.

No nā ho'āʻo API pūnaewele, ua hoʻohana mākou i ka Python unittest. Hoʻohana ʻia ʻo Memcached e hoʻopau i nā kelepona uku API, hoʻohana ʻia ʻo "Chef" e kāohi i ka hoʻonohonoho, hoʻohana ʻia ʻo Zabbix e hōʻiliʻili a nānā i nā helu ʻōnaehana kūloko. ʻO Graylog2 no ka ʻohi ʻana i nā lāʻau, ʻo Slate ka palapala API no nā mea kūʻai aku.

Mikhail Salosin. Halawai ʻo Golang. Ke hoʻohana nei iā Go ma ka hope o ka noi Look+

Koho ʻia ka protocol

ʻO ka pilikia mua a mākou i hālāwai ai: pono mākou e koho i kahi protocol no ka launa pū ʻana ma waena o nā mea kūʻai aku hope a me nā mea kelepona, e pili ana i nā helu aʻe ...

  • ʻO ke koi nui loa: pono e hōʻano hou ʻia ka ʻikepili i nā mea kūʻai aku i ka manawa maoli. ʻO ia hoʻi, pono e loaʻa i nā mea a pau e nānā nei i ka hoʻolaha i nā mea hou i kēia manawa.
  • No ka maʻalahi o nā mea, ua manaʻo mākou ʻaʻole holoi ʻia ka ʻikepili i hoʻonohonoho ʻia me nā mea kūʻai aku, akā hūnā ʻia me ka hoʻohana ʻana i nā hae kūikawā.
  • Loaʻa nā ʻano noi laha ʻole (e like me nā helu helu, haku mele, helu helu hui) e nā noi GET maʻamau.
  • Hoʻohui, pono e kākoʻo maʻalahi ka ʻōnaehana i 100 tausani mea hoʻohana i ka manawa like.

Ma muli o kēia, ua loaʻa iā mākou nā koho protocol ʻelua:

  1. Nā punawelewele. Akā ʻaʻole pono mākou i nā ala mai ka mea kūʻai aku i ke kikowaena. Pono mākou e hoʻouna i nā mea hou mai ke kikowaena i ka mea kūʻai aku, no laila he koho ʻoi loa ka websocket.
  2. Ua hiki mai ka Server-Sent Events (SSE)! He mea maʻalahi loa ia a hoʻokō pono i nā mea āpau a mākou e pono ai.

Nā hanana i hoʻouna ʻia e ke kikowaena

He mau ʻōlelo e pili ana i ka hana ʻana o kēia mea...

Holo ia ma luna o kahi pilina http. Hoʻouna ka mea kūʻai aku i kahi noi, pane ke kikowaena me Content-Type: text/event-stream a ʻaʻole hoʻopaʻa i ka pilina me ka mea kūʻai aku, akā hoʻomau ka kākau ʻana i ka ʻikepili i ka pilina:

Mikhail Salosin. Halawai ʻo Golang. Ke hoʻohana nei iā Go ma ka hope o ka noi Look+

Hiki ke hoʻouna ʻia ka ʻikepili ma kahi ʻano i ʻae ʻia me nā mea kūʻai aku. I kā mākou hihia, ua hoʻouna mākou iā ia ma kēia ʻano: ua hoʻouna ʻia ka inoa o ka hale i hoʻololi ʻia (kanaka, mea pāʻani) i ke kahua hanana, a ua hoʻouna ʻia ʻo JSON me nā kahua hou, hoʻololi ʻia no ka mea pāʻani i ke kahua ʻikepili.

I kēia manawa e kamaʻilio mākou e pili ana i ka hana ʻana o ka pilina ponoʻī.

  • ʻO ka mea mua a ka mea kūʻai aku e hoʻoholo ai i ka manawa hope i hana ʻia ai ka hoʻonohonoho ʻana me ka lawelawe: nānā ʻo ia i kāna waihona kūloko a hoʻoholo i ka lā o ka hoʻololi hope i hoʻopaʻa ʻia e ia.
  • Hoʻouna ia i kahi noi me kēia lā.
  • Ma ka pane ʻana, hoʻouna mākou iā ia i nā mea hou i hana ʻia mai ia lā.
  • Ma hope o kēlā, hana ia i kahi pilina i ke kahawai ola a ʻaʻole pani ʻia a pono ʻo ia i kēia mau mea hou:

Mikhail Salosin. Halawai ʻo Golang. Ke hoʻohana nei iā Go ma ka hope o ka noi Look+

Hoʻouna mākou iā ia i kahi papa inoa o nā hoʻololi: inā loaʻa kekahi i kahi pahuhopu, hoʻololi mākou i ka helu o ka pāʻani, inā e ʻeha ʻo ia, hoʻouna ʻia kēia i ka manawa maoli. No laila, loaʻa koke i nā mea kūʻai aku ka ʻikepili hou i ka hānai hanana hoʻokūkū. I kēlā me kēia manawa, i hoʻomaopopo ka mea kūʻai aku ʻaʻole i make ke kikowaena, ʻaʻohe mea i loaʻa iā ia, hoʻouna mākou i kahi leka manawa i kēlā me kēia 15 kekona - i ʻike ʻo ia ua pololei nā mea āpau a ʻaʻohe pono e hoʻohui hou.

Pehea e lawelawe ʻia ai ka pilina ola?

  • ʻO ka mea mua, hana mākou i kahi ala e loaʻa ai nā mea hou i hoʻopaʻa ʻia.
  • Ma hope o kēlā, kau inoa mākou i kēia channel e loaʻa nā mea hou.
  • Hoʻonoho mākou i ke poʻo kūpono i ʻike ka mea kūʻai aku ua maikaʻi nā mea a pau.
  • E hoʻouna i ka ping mua. Hoʻopaʻa wale mākou i ka timestamp pili i kēia manawa.
  • Ma hope o kēlā, heluhelu mākou mai ke kahawai i loko o kahi loop a hiki i ka pani ʻana o ke kahawai hou. Loaʻa i kēlā me kēia manawa ke kaha manawa a i ʻole nā ​​loli a mākou e kākau nei e wehe i nā pilina.

Mikhail Salosin. Halawai ʻo Golang. Ke hoʻohana nei iā Go ma ka hope o ka noi Look+

ʻO ka pilikia mua i loaʻa iā mākou, ʻo ia kēia: no kēlā me kēia pilina i wehe ʻia me ka mea kūʻai aku, ua hana mākou i kahi manawa i hoʻopaʻa ʻia i hoʻokahi manawa i kēlā me kēia 15 kekona - ʻike ʻia inā loaʻa iā mākou he 6 tausani mau pilina e wehe ʻia me hoʻokahi mīkini (me hoʻokahi server API), 6 Ua hana ʻia nā kaukani manawa. Ua alakaʻi kēia i ka mīkini ʻaʻole e paʻa i ka ukana i koi ʻia. ʻAʻole maopopo iā mākou ka pilikia, akā ua loaʻa iā mākou kahi kōkua liʻiliʻi a hoʻoponopono.

ʻO ka hopena, i kēia manawa ke hele mai kā mākou ping mai ke kahawai like mai kahi e hiki mai ai ka hoʻonui.

No laila, hoʻokahi wale nō manawa e paʻi i hoʻokahi manawa i kēlā me kēia 15 kekona.

Nui nā hana kōkua ma aneʻi - hoʻouna i ke poʻo, ping a me ke ʻano ponoʻī. ʻO ia hoʻi, ka inoa o ka papaʻaina (kanaka, pāʻani, kau) a me ka ʻike e pili ana i kēia komo i hoʻouna ʻia ma aneʻi:

Mikhail Salosin. Halawai ʻo Golang. Ke hoʻohana nei iā Go ma ka hope o ka noi Look+

Mechanism no ka hoʻouna ʻana i nā mea hou

I kēia manawa e pili ana i kahi i hele mai ai nā loli. Loaʻa iā mākou kekahi poʻe, nā mea hoʻoponopono, e nānā i ka hoʻolaha i ka manawa maoli. Hoʻokumu lākou i nā hanana a pau: ua hoʻokuʻu ʻia kekahi, ua ʻeha kekahi, kahi ʻano pani ...

Ke hoʻohana nei i kahi CMS, komo ka ʻikepili i ka waihona. Ma hope o kēia, hoʻolaha ka waihona i nā kikowaena API e pili ana i kēia me ka hoʻohana ʻana i ka mīkini Listen/Notify. Ua hoʻouna mua nā kikowaena API i kēia ʻike i nā mea kūʻai aku. No laila, he mau kikowaena liʻiliʻi wale nō kā mākou i pili i ka waihona a ʻaʻohe ukana kūikawā ma ka waihona, no ka mea, ʻaʻole pili pololei ka mea kūʻai aku me ka waihona ma kekahi ʻano:

Mikhail Salosin. Halawai ʻo Golang. Ke hoʻohana nei iā Go ma ka hope o ka noi Look+

PostgreSQL: Hoʻolohe / Hoʻolaha

Hiki i ka Listen/Notify mechanism ma Postgres ke hoʻomaopopo i ka poʻe kākau inoa hanana ua loli kekahi hanana - ua hana ʻia kekahi moʻolelo ma ka waihona. No ka hana ʻana i kēia, ua kākau mākou i kahi hana maʻalahi a me ka hana:

Mikhail Salosin. Halawai ʻo Golang. Ke hoʻohana nei iā Go ma ka hope o ka noi Look+

Ke hoʻokomo a hoʻololi paha i kahi moʻolelo, kāhea mākou i ka hana hoʻolaha ma ke kahawai data_updates, e hele ana i laila ka inoa o ka papa a me ka mea hōʻike i hoʻololi ʻia a hoʻokomo ʻia.

No nā papa āpau e pono e hui pū ʻia me ka mea kūʻai aku, wehewehe mākou i kahi trigger, ka mea, ma hope o ka hoʻololi / hoʻonui ʻana i kahi moʻolelo, kāhea i ka hana i hōʻike ʻia ma ka slide ma lalo.
Pehea e kau inoa ai ka API i kēia mau hoʻololi?

Hana ʻia kahi hana Fanout - hoʻouna ʻo ia i nā leka i ka mea kūʻai aku. E hōʻiliʻili ia i nā mea kūʻai aku āpau a hoʻouna i nā mea hou i loaʻa iā ia ma o kēia mau ala:

Mikhail Salosin. Halawai ʻo Golang. Ke hoʻohana nei iā Go ma ka hope o ka noi Look+

Eia ka waihona pq maʻamau, e pili ana i ka waihona a ʻōlelo ʻo ia makemake e hoʻolohe i ke kahawai (data_updates), nānā i ka wehe ʻana o ka pilina a ua maikaʻi nā mea a pau. Ke haʻalele nei au i ka nānā hewa ʻana e mālama i ka hakahaka (ʻaʻole pilikia ka nānā ʻana).

A laila, hoʻonohonoho asynchronously mākou iā Ticker, e hoʻouna i kahi ping i kēlā me kēia 15 kekona, a hoʻomaka e hoʻolohe i ke kahawai a mākou i kau inoa ai. Inā loaʻa iā mākou kahi ping, hoʻolaha mākou i kēia ping. Inā loaʻa iā mākou kekahi ʻano komo, a laila hoʻolaha mākou i kēia helu i nā mea kākau inoa a pau o kēia Fanout.

Pehea ka hana ʻana o Fan-out?

Ma ka ʻōlelo Lūkini ʻo kēia unuhi ʻo "splitter". Loaʻa iā mākou hoʻokahi mea e hoʻopaʻa inoa i nā mea kākau inoa e makemake e loaʻa i kekahi mau mea hou. A i ka hiki ʻana mai o kahi mea hou i kēia mea, hāʻawi ʻo ia i kēia mea hou i kāna poʻe kākau inoa. Ua maʻalahi:

Mikhail Salosin. Halawai ʻo Golang. Ke hoʻohana nei iā Go ma ka hope o ka noi Look+

Pehea e hoʻokō ʻia ai ma Go:

Mikhail Salosin. Halawai ʻo Golang. Ke hoʻohana nei iā Go ma ka hope o ka noi Look+

Aia kahi hale, hoʻonohonoho ʻia me ka hoʻohana ʻana i Mutexes. Loaʻa iā ia kahi kahua e hoʻopakele ai i ka mokuʻāina o ka pili ʻana o Fanout i ka waihona, ʻo ia hoʻi ke hoʻolohe nei a loaʻa i nā mea hou, a me kahi papa inoa o nā ala a pau i loaʻa - palapala ʻāina, ʻo ke kī o ia ke kahawai a me ke ʻano o ke ʻano. nā waiwai (ʻaʻole i hoʻohana ʻia ma kekahi ʻano).

ʻElua mau ala - Hoʻohui a Hoʻokaʻawale - e ʻae iā mākou e haʻi iā Fanout he pilina mākou i ke kumu, ua ʻike ʻia a ua haki ka pilina i ke kumu. I ka lua o ka hihia, pono ʻoe e hoʻokaʻawale i nā mea kūʻai aku a haʻi iā lākou ʻaʻole hiki iā lākou ke hoʻolohe hou i kekahi mea a pili hou lākou no ka mea ua pani ka pilina iā lākou.

Aia kekahi ʻano hoʻopaʻa inoa e hoʻohui i ke kahawai i ka "hoʻolohe":

Mikhail Salosin. Halawai ʻo Golang. Ke hoʻohana nei iā Go ma ka hope o ka noi Look+

Aia kekahi ʻano Unsubscribe, kahi e hoʻoneʻe ai i ke kahawai mai ka poʻe hoʻolohe inā ʻoki ka mea kūʻai aku, a me kahi ala hoʻolaha, e hiki ai iā ʻoe ke hoʻouna i kahi leka i nā mea kākau inoa a pau.

Nīnau: - He aha ka mea i hoʻouna ʻia ma o kēia ala?

MS: - Hoʻouna ʻia ke kumu hoʻohālike i hoʻololi ʻia a i ʻole ping (ma ke ʻano he helu wale nō, integer).

MS: - Hiki iā ʻoe ke hoʻouna i kekahi mea, hoʻouna i kekahi ʻano hana, hoʻolaha iā ia - lilo ia i JSON a ʻo ia nō.

MS: - Loaʻa iā mākou kahi leka mai Postgres - aia ka inoa papa a me ka mea hōʻike. Ma muli o ka inoa papa a me ka mea hōʻike, loaʻa iā mākou ka moʻolelo e pono ai mākou, a laila hoʻouna mākou i kēia ʻano no ka paʻi ʻana.

Kāpena

He aha ke ʻano o kēia mai kahi hiʻohiʻona ʻoihana? Loaʻa iā mākou he 7 mau kikowaena lako: ua hoʻolaʻa piha ʻia kekahi o lākou i ka waihona, ʻo nā mīkini ʻeono holo ʻē aʻe. Aia he 6 kope o ka API: e holo ana kēlā me kēia mīkini virtual me ka API ma kahi kikowaena ʻokoʻa - no ka hilinaʻi.

Mikhail Salosin. Halawai ʻo Golang. Ke hoʻohana nei iā Go ma ka hope o ka noi Look+

Loaʻa iā mākou ʻelua mau ʻaoʻao mua me Keepalived i hoʻokomo ʻia e hoʻomaikaʻi i ke komo ʻana, no laila inā loaʻa kekahi mea, hiki i kekahi frontend ke pani i kekahi. Eia kekahi - ʻelua kope o ka CMS.

Aia kekahi mea lawe helu helu. Aia kahi DB Slave kahi i hana ʻia ai nā backup i kēlā me kēia manawa. Aia ʻo Pigeon Pusher, kahi noi e hoʻouna i nā leka hoʻolaha i nā mea kūʻai aku, a me nā mea hoʻomohala: Zabbix, Graylog2 a me Chef.

ʻO ka ʻoiaʻiʻo, ʻoi aku ka nui o kēia ʻōnaehana, no ka mea hiki ke lawelawe ʻia ka 100 tausani me nā kikowaena liʻiliʻi. Akā aia ka hao - ua hoʻohana mākou (ua haʻi ʻia iā mākou he hiki - no ke aha ʻaʻole).

Pono o Go

Ma hope o kā mākou hana ʻana i kēia noi, ua puka mai nā mea maikaʻi o Go.

  • Hale waihona puke ʻo http. Me ia hiki iā ʻoe ke hana i nā mea he nui mai loko mai o ka pahu.
  • Eia kekahi, nā ala i hiki iā mākou ke hoʻokō maʻalahi i kahi mīkini no ka hoʻouna ʻana i nā leka hoʻomaopopo i nā mea kūʻai aku.
  • ʻO ka mea kupanaha ʻo Race detector i ʻae iā mākou e hoʻopau i kekahi mau pōpoki koʻikoʻi (staging infrastructure). Hoʻokuʻu ʻia nā mea a pau e hana ana i ka hoʻokūkū, i hui pū ʻia me ke kī Race; a no laila, hiki iā mākou ke nānā i ka ʻōnaehana hoʻokūkū e ʻike i nā pilikia e loaʻa iā mākou.
  • ʻO ka liʻiliʻi a me ka maʻalahi o ka ʻōlelo.

Mikhail Salosin. Halawai ʻo Golang. Ke hoʻohana nei iā Go ma ka hope o ka noi Look+

Ke ʻimi nei mākou i nā mea hoʻomohala! Inā makemake kekahi, e ʻoluʻolu.

ʻO kāu mau nīnau

Nīnau mai ke anaina (ma hope aku – B): – Me he mea lā ua hala ʻoe i kahi mea nui e pili ana iā Fan-out. Ua pololei au i ka hoʻomaopopo ʻana i ka wā e hoʻouna ai ʻoe i kahi pane i kahi mea kūʻai aku, e poloka ʻoe inā ʻaʻole makemake ka mea kūʻai aku e heluhelu?

MS: - ʻAʻole, ʻaʻole mākou e pāpā. ʻO ka mea mua, loaʻa iā mākou kēia ma hope o ka nginx, ʻo ia hoʻi, ʻaʻohe pilikia me nā mea kūʻai lohi. ʻO ka lua, loaʻa i ka mea kūʻai ke ala me kahi buffer - ʻoiaʻiʻo, hiki iā mākou ke kau i hoʻokahi haneli mau mea hou ma laila ... Inā ʻaʻole hiki iā mākou ke kākau i ke kahawai, a laila holoi ia. Inā ʻike mākou ua paʻa ke kahawai, a laila e pani wale mākou i ke kahawai, a ʻo ia - e hoʻopili hou ka mea kūʻai inā loaʻa kekahi pilikia. No laila, ma ke kumu, ʻaʻohe paʻa ma ʻaneʻi.

IN: - ʻAʻole hiki ke hoʻouna koke i kahi moʻolelo i Listen/Notify, ʻaʻole i kahi papa ʻike?

MS: - Loaʻa i ka hoʻolohe / Hoʻolaha ka palena o 8 tausani bytes ma ka preload āna e hoʻouna ai. Ma ke kumu, hiki ke hoʻouna ʻia inā mākou e pili ana i kahi helu liʻiliʻi o ka ʻikepili, akā ʻike wau ʻo kēia ala [ke ala a mākou e hana ai] ʻoi aku ka hilinaʻi. Aia nā palena ma Postgres pono'ī.

IN: - Loaʻa i nā mea kūʻai aku nā mea hou i nā pāʻani i makemake ʻole lākou?

MS: - Ma ka laulā, ʻae. Ma ke ʻano he lula, aia nā pāʻani 2-3 e hele like ana, a ʻoiai ʻaʻole kakaikahi. Inā nānā ka mea kūʻai aku i kekahi mea, a laila ke nānā mau nei ʻo ia i ka pāʻani e hana nei. A laila, loaʻa i ka mea kūʻai kahi waihona kūloko kahi i hoʻohui ʻia ai kēia mau mea hou, a me ka ʻole o kahi pilina pūnaewele, hiki i ka mea kūʻai ke nānā i nā pāʻani āpau i hala nona nā mea hou. ʻO ka mea nui, hoʻonohonoho mākou i kā mākou waihona ma ka kikowaena me ka ʻikepili kūloko o ka mea kūʻai aku i hiki iā ia ke hana ma waho.

IN: – No ke aha ʻoe i hana ai i kāu ORM ponoʻī?

ʻO Alexey (kekahi o nā mea hoʻomohala o Look+): - I kēlā manawa (he makahiki i hala aku nei) ʻoi aku ka liʻiliʻi o nā ORM ma mua o kēia manawa, ʻoiai he nui loa lākou. ʻO kaʻu mea punahele e pili ana i ka hapa nui o nā ORM ma waho, ʻo ka hapa nui o lākou e holo ma nā ʻaoʻao ʻole. ʻO ia hoʻi, ua mākaukau nā ʻano o kēia mau ORM e lawe i kekahi mea: kahi hale, kahi kuhikuhi kikoʻī, kahi helu, kahi mea pili ʻole ...

Hoʻokumu kā mākou ORM i nā hale ma muli o ke kumu hoʻohālike. ʻO wau iho. A no laila, paʻa nā ʻano hana a pau, mai hoʻohana i ka noʻonoʻo ʻana, a me nā mea ʻē aʻe.

IN: – Ehia kanaka i komo?

MS: - I ka pae mua, ua komo nā kānaka ʻelua. Ua hoʻomaka mākou ma kahi o Iune, a i ʻAukake ua mākaukau ka hapa nui (ka mana mua). Ua hoʻokuʻu ʻia i Kepakemapa.

IN: - Ma kahi e wehewehe ai ʻoe iā SSE, ʻaʻole ʻoe e hoʻohana i ka manawa. No ke aha ia?

MS: - I ka ʻoiaʻiʻo, ʻo SSE kahi protocol html5: ua hoʻolālā ʻia ka maʻamau SSE e kamaʻilio me nā polokalamu kele pūnaewele, e like me kaʻu i hoʻomaopopo ai. Loaʻa iā ia nā hiʻohiʻona ʻē aʻe e hiki ai i nā mea nānā ke hoʻopili hou (a pēlā aku), akā ʻaʻole pono mākou iā lākou, no ka mea, loaʻa iā mākou nā mea kūʻai aku e hiki ke hoʻokō i kekahi loiloi no ka hoʻopili ʻana a me ka loaʻa ʻana o ka ʻike. ʻAʻole mākou i hana i ka SSE, akā he mea like me SSE. ʻAʻole kēia ka protocol ponoʻī.
ʻAʻohe pono. E like me kaʻu e hoʻomaopopo ai, ua hoʻokō nā mea kūʻai aku i ka mīkini pili kokoke mai ka ʻohi ʻana. ʻAʻole lākou i manaʻo nui.

IN: - He aha nā pono hana hou āu i hoʻohana ai?

MS: - Ua hoʻohana ikaika mākou i ka govet a me ka golint e hoʻohui i ke ʻano, a me ka gofmt. ʻAʻohe mea ʻē aʻe i hoʻohana ʻia.

IN: - He aha kāu i hoʻohana ai no ka hoʻopaʻa ʻana?

MS: - Ua hana nui ʻia ka debugging me ka hoʻohana ʻana i nā hoʻokolohua. ʻAʻole mākou i hoʻohana i kahi debugger a i ʻole GOP.

IN: - Hiki iā ʻoe ke hoʻihoʻi i ka paheʻe kahi i hoʻokō ʻia ai ka hana Publish? E huikau paha nā inoa hoʻololi huahelu hoʻokahi iā ʻoe?

MS: - ʻAʻole. Loaʻa iā lākou kahi ʻike "haiki" o ka ʻike. ʻAʻole lākou i hoʻohana ʻia ma nā wahi ʻē aʻe koe wale nō ma ʻaneʻi (koe wale nō nā mea o loko o kēia papa), a paʻa loa ia - he 7 laina wale nō.

IN: - ʻAʻole naʻe i intuitive ...

MS: - ʻAʻole, ʻaʻole, he code maoli kēia! ʻAʻole pili i ke ʻano. He mea hoʻohana wale ia, papa liʻiliʻi loa - 3 wale nō nā kahua i loko o ka papa...

Mikhail Salosin. Halawai ʻo Golang. Ke hoʻohana nei iā Go ma ka hope o ka noi Look+

MS: - Ma ka nui, ʻaʻole loli nā ʻikepili āpau i hoʻonohonoho ʻia me nā mea kūʻai aku (nā pāʻani kau, nā mea pāʻani). ʻO ka ʻōlelo koʻikoʻi, inā mākou e hana i kahi haʻuki e pono ai mākou e hoʻololi i ka pāʻani, e noʻonoʻo mākou i nā mea āpau i ka mana hou o ka mea kūʻai aku, a e pāpā ʻia nā mana kahiko o ka mea kūʻai aku.

IN: - Aia kekahi mau pūʻolo hoʻokele hilinaʻi ʻekolu?

MS: - Ua hoʻohana mākou i ka hele dep.

IN: - Aia kekahi mea e pili ana i ke wikiō ma ke kumuhana o ka hōʻike, akā ʻaʻohe mea i ka hōʻike e pili ana i ka wikiō.

MS: - ʻAʻole, ʻaʻohe aʻu mea i ke kumuhana e pili ana i ke wikiō. Kapa ʻia ʻo "Look+" - ʻo ia ka inoa o ka noi.

IN: - Ua ʻōlelo ʻoe ua kahe ʻia i nā mea kūʻai aku?..

MS: - ʻAʻole mākou i komo i ke kahe wikiō. Ua hana ʻia kēia e Megafon. ʻAe, ʻaʻole wau i ʻōlelo ʻo MegaFon ka noi.

MS: - E hele - no ka hoʻouna ʻana i nā ʻikepili āpau - ma ka helu, ma nā hanana hoʻokūkū, nā helu ... ʻO Go ka hope holoʻokoʻa no ka noi. Pono e ʻike ka mea kūʻai mai kahi loulou e hoʻohana ai no ka mea pāʻani i hiki i ka mea hoʻohana ke nānā i ka pāʻani. Loaʻa iā mākou nā loulou i nā wikiō a me nā kahawai i hoʻomākaukau ʻia.

Kekahi mau hoʻolaha 🙂

Mahalo no kou noho pū ʻana me mākou. Makemake ʻoe i kā mākou ʻatikala? Makemake ʻoe e ʻike i nā mea hoihoi hou aʻe? E kākoʻo iā mākou ma ke kau ʻana i kahi kauoha a i ʻole ka ʻōlelo ʻana i nā hoaaloha, cloud VPS no nā mea hoʻomohala mai $4.99, he analogue kū hoʻokahi o nā kikowaena hoʻokomo-level, i hana ʻia e mākou no ʻoe: ʻO ka ʻoiaʻiʻo holoʻokoʻa e pili ana iā VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps mai $ 19 a pehea e kaʻana like ai i kahi kikowaena? (loaʻa me RAID1 a me RAID10, a hiki i 24 cores a hiki i 40GB DDR4).

ʻO Dell R730xd 2 mau manawa maʻalahi ma Equinix Tier IV kikowaena data ma Amsterdam? Eia wale nō 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV mai $199 ma Netherlands! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - mai $99! Heluhelu e pili ana Pehea e kūkulu ai i ka ʻoihana ʻoihana. papa me ka hoʻohana 'ana o Dell R730xd E5-2650 v4 kikowaena waiwai 9000 euros no ka peni?

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka