Хаврын ачааллыг зөв хийсэн: 400 модулийн кодын баазын хичээлүүд
Сэтгэгдэл
Mewayz Team
Editorial Team
Хаврын ачааллыг зөв хийсэн: 400 модулийн кодын баазын хичээлүүд
Spring Boot-ийн амлалт нь сэтгэл татам юм: програмыг хурдан хөгжүүлэх, хялбаршуулсан тохиргоо, баялаг экосистем. Энэ нь жижиг багуудад гайхалтай хурдтай хүчирхэг микро үйлчилгээг бий болгох боломжийг олгодог. Гэхдээ тэр анхны прототип нь өргөн цар хүрээтэй аж ахуйн нэгжийн платформ болж хувирвал юу болох вэ? Таны цөөхөн хэдэн үйлчилгээ харилцан хамааралтай хэдэн зуун модулиудыг агуулсан монорепо болж үржих үед? Эндээс таны архитектурын шийдвэрийн жинхэнэ шалгалт эхэлдэг. Бид эдгээрийг яг таг чиглүүлсэн бөгөөд 400 модулийн Spring Boot кодын баазыг удирдахаас сурсан сургамж нь тогтвортой програм хангамж хөгжүүлэх мастер анги юм.
Өргөтгөх боломжтой бүтцийн тулгуурууд
Үндсэндээ асар том кодын бааз нь тууштай, логик бүтэцтэй байхыг шаарддаг. Үүнгүйгээр та "Женга цамхаг" кодыг бий болгодог - аливаа шинэ нэмэлт нь бүх зүйлийг нураах эрсдэлтэй. Бидний үндсэн тулгуур бол хатуу модульчлах, мөрдсөн хил хязгаар байсан. Модуль бүр нь үндсэн домэйн байгууллага, тодорхой API адаптер эсвэл бие даасан үйлчилгээ эсэхээс үл хамааран нэг, сайн тодорхойлсон үүрэг хариуцлагатай байв. Хамгийн гол нь бид тодорхой хамаарлын графикийг бий болгосон. Дээд түвшний програмын модулиуд нь үндсэн домэйны сангаас хамааралтай байж болох ч эсрэгээр хэзээ ч болохгүй. Энэ нь тойргийн хараат байдлаас урьдчилан сэргийлж, манай бизнесийн үндсэн логикийг дэд бүтцийн асуудлаас салгахгүй, цэвэр хэвээр үлдээсэн. Энэхүү цэвэр архитектурын зарчим нь өргөн хүрээнд тохиролцох боломжгүй юм.
Хараат байдлын менежментийг эзэмших
Хэдэн зуун модулиудтай, хамаарал болон хувилбаруудыг удирдах нь хамгийн том сорилт байж магадгүй юм. Буруу хандлага нь "хамааралтай байдлын там" руу хөтөлдөг бөгөөд нэг номын санг сайжруулахад олон арван номыг тохирох хувилбарт шинэчлэхийн тулд олон өдрийн эрэл хайгуул хийх шаардлагатай болдог. Бидний шийдэл бол компанийг хамарсан хатуу баримт бичиг (МБ) байв. Ганц, эцэг эхийн BOM модуль нь хавар, тест, мэдээллийн сангийн драйвер гэх мэт нийтлэг номын сан бүрийн хувилбарыг тодорхойлсон. Кодын баазын бусад модуль бүр энэ BOM-г импортолж, үнэмлэхүй нийцтэй байдлыг хангасан. Энэ нь эмх замбараагүй байж болзошгүй үйл явцыг урьдчилан таамаглах боломжтой, удирдах боломжтой үйл ажиллагаа болгон хувиргасан. Энэ нь бид айдсаар биш харин итгэлтэйгээр платформын Spring Boot хувилбарыг бүхэлд нь шинэчлэх боломжтой гэсэн үг юм.
Автоматжуулалт нь тууштай байдлын үндэс
Хүний алдаа зайлшгүй боловч том кодын санд жижиг алдаа нь асар их долгионы үр дагаварт хүргэж болзошгүй. Бид цээжлэхээсээ илүү автоматжуулалтад итгэж сурсан. Үйлдэл бүр нь манай архитектурын стандартыг мөрддөг автомат шалгалтын батарейг үүсгэсэн. Үүнд:
орсон- Кодчлолын стандартыг хэрэгжүүлэх, эсрэг хэв маягийг илрүүлэх статик кодын шинжилгээ.
- Модуль бүрийг автоматжуулсан тест хийж, одоо байгаа гэрээг зөрчсөн өөрчлөлтийг баталгаажуулахгүй.
- Хараат байдал нь дарцагласан аливаа шууд хувилбар нь төв Монголбанкнаас бус хүчингүй болохыг шалгадаг.
- Доод модулиудыг задлахаас сэргийлэхийн тулд хуваалцсан сангуудын API нийцтэй байдлыг хатуу шалгадаг.
Энэхүү автоматжуулсан засаглал нь манай цогц экосистемийг нэгтгэсэн цавуу байсан бөгөөд хөгжүүлэгчдэд бусдад эвдрэлгүйгээр хурдан шилжих боломжийг олгосон.
Нэгдсэн платформын үүрэг
Төгс архитектур, автоматжуулалттай байсан ч хөгжүүлэгчид Git агуулах, CI/CD дамжуулах хоолой, асуудал хянагч болон байршуулалтын хяналтын самбар зэрэг тоо томшгүй олон хэрэгслүүдийн хооронд контекст шилжих шаардлагатай хэвээр байна. Энэ хуваагдал нь танин мэдэхүйн ачааллыг бий болгож, хүргэлтийг удаашруулдаг. Энэ бол Mewayz шиг модульчлагдсан бизнесийн үйлдлийн системийг шийдэхийн тулд бүтээгдсэн асуудал юм. Mewayz нь хөгжлийн бүхэл бүтэн амьдралын мөчлөгийг нэгтгэсэн нэгдсэн платформоор хангаснаар багуудад багаж хэрэгслийн интеграцчлалтай тэмцэхийн оронд өөрсдийн сайн тодорхойлсон модулиудын хүрээнд онцлог шинж чанаруудыг бий болгоход анхаарлаа төвлөрүүлэх боломжийг олгодог. Энэ нь үйлдлийн давхарга нь цэвэр кодын баазыг нөхөж, модулиудын цуглуулгыг үнэхээр нэгдмэл, үр ашигтай програм хангамжийн үйлдвэр болгон хувиргадаг.
💡 DID YOU KNOW?
Mewayz replaces 8+ business tools in one platform
CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.
Start Free →Зорилго нь зөвхөн том системийг бий болгох биш; Энэ нь том болсон ч уян хатан, ойлгомжтой байх системийг бий болгох явдал юм. Архитектур нь өр төлбөр биш хөрөнгө байх ёстой.
Энгийн Spring Boot програмаас асар том, олон модультай цул болох хүртэлх зам нь болзошгүй бэрхшээлүүдээр дүүрэн байдаг. Гэсэн хэдий ч цэвэр архитектурын зарчмуудыг дагаж мөрдөж, хараат бус байдлын менежментийг хэрэгжүүлж, иж бүрэн автоматжуулалтыг нэвтрүүлж, нэгдсэн платформуудыг ашигласнаар та зөвхөн хэмжээгээрээ бус эрүүл мэнд, засвар үйлчилгээ хийх боломжтой кодын баазыг бий болгож чадна. Үр дүн нь инновацийг боомилохоос илүүтэйгээр үргэлжлүүлэн идэвхжүүлдэг платформ юм.