คำถามติดแท็ก architecture

การออกแบบระดับสูงและคำอธิบายของระบบซอฟต์แวร์ การออกแบบสถาปัตยกรรมกลั่นรายละเอียดของการใช้งานอัลกอริทึมและการแสดงข้อมูลเพื่อมุ่งเน้นการโต้ตอบของส่วนประกอบ "กล่องดำ"

2
วิธีแก้ปัญหาการพึ่งพาแพ็คเกจแบบวงกลม
ฉันกำลังปรับเปลี่ยน codebase ขนาดใหญ่ที่ชั้นเรียนส่วนใหญ่อยู่ในแพ็คเกจเดียว เพื่อความเป็นโมดูลที่ดีกว่าฉันกำลังสร้างแพ็คเกจย่อยสำหรับแต่ละฟังก์ชั่น ผมจำได้ว่าการเรียนรู้บางที่กราฟพึ่งพาแพคเกจไม่ควรมีลูป แต่ผมไม่ทราบว่าวิธีการแก้ปัญหาต่อไปนี้: Figureอยู่ในแพคเกจfigure, Layoutอยู่ในแพคเกจlayout, Layoutต้องคิดรูปแบบในการดำเนินการเพื่อให้แพคเกจขึ้นอยู่กับแพคเกจlayout figureแต่ในทางกลับกัน, Figureสามารถมีอื่น ๆ ที่Figureอยู่ข้างในมันมีของตัวเองLayoutซึ่งจะทำให้การจัดแพคเกจขึ้นอยู่กับแพคเกจfigurelayout ฉันมีวิธีแก้ปัญหาบางอย่างเช่นการสร้างContainerอินเทอร์เฟซที่Figureใช้และวางไว้ในLayoutแพ็คเกจ นี่เป็นทางออกที่ดีใช่ไหม ความเป็นไปได้อื่น ๆ ขอบคุณ

3
วิธีการนำเสนอคุณสมบัติให้กับผู้ใช้เพียงไม่กี่ราย
ตัวอย่างที่ดีของสิ่งที่ฉันพยายามถามคือคุณสมบัติใหม่ของ Facebook ในการเริ่มต้นมีเพียงไม่กี่คนเท่านั้นที่ได้รับอนุญาตให้เข้าถึงไทม์ไลน์ เมื่อคุณลักษณะดังกล่าวเริ่มแข็งตัวมากขึ้นว่ามันทำงานอย่างไรและข้อบกพร่องได้รับการแก้ไขผู้ใช้เพิ่มเติมจึงได้รับอนุญาตให้เข้าถึงคุณลักษณะ ในภายหลังผู้ใช้กลุ่มใหญ่ได้รับอนุญาตให้เข้าถึงคุณลักษณะและตอนนี้เป็นคุณสมบัติทั่วไปสำหรับผู้ใช้ทั้งหมด ทีมพัฒนาใช้จัดการคุณลักษณะประเภทนี้อย่างไร ฉันเล่นกับแนวคิดของการใช้การตั้งค่าเพื่อเลือกการควบคุมการเข้าถึงหากมีบางสิ่งในการทดสอบหรือในการผลิตผ่านไฟล์การกำหนดค่าและเงื่อนไขถ้าคำสั่งในรหัส ตอนนี้ในขณะนี้ไม่เป็นไรสำหรับคุณสมบัติที่เรียบง่ายฉันเชื่อว่าถ้าเราพยายามที่จะใช้สิ่งนี้ในฟีเจอร์ที่ใหญ่ขึ้นมันจะไม่สามารถจัดการได้ สิ่งใดจะเป็นวิธีที่ดีที่สุดในการจัดการการม้วนคุณสมบัติในลักษณะนี้

11
การสร้างและลบตารางอย่างต่อเนื่องเป็นสัญญาณของข้อบกพร่องทางสถาปัตยกรรมหรือไม่?
เมื่อเร็ว ๆ นี้ฉันได้พูดคุยกับนักพัฒนาที่กล่าวว่าในระหว่างการพัฒนาโปรแกรมพวกเขาจะสร้างและลบตารางและคอลัมน์เป็นประจำในขณะที่ทำงานกับคุณสมบัติใหม่และสิ่งที่เป็นธรรมโดยกล่าวว่านี่เป็นเรื่องปกติเมื่อใช้กระบวนการพัฒนาแบบเปรียว เนื่องจากภูมิหลังของฉันส่วนใหญ่อยู่ในสภาพแวดล้อมการพัฒนาของน้ำตกฉันจึงสงสัยว่าสิ่งนี้จะถือว่าเหมาะสมภายใต้การพัฒนาที่คล่องตัวหรือถ้านี่อาจเป็นสัญญาณของปัญหาพื้นฐานไม่ว่าจะด้วยสถาปัตยกรรมของโปรแกรมหรือตามกระบวนการเปรียว

2
ผู้ควบคุมควรส่งผ่านข้อมูลไปยังมุมมองในรูปแบบ MVC หรือไม่
ฉันทำงานกับ ASP.NET MVC (และการใช้งาน MVC บนเว็บอื่น ๆ ) ค่อนข้างบ่อย แต่นี่เป็นสิ่งที่ฉันไม่เคยแน่ใจ: คอนโทรลเลอร์และดูการสื่อสารควรหรือไม่ แน่นอนว่าผู้ควบคุมควรเลือกมุมมองที่จะใช้ แต่สิ่งที่ฉันหมายความว่าผู้ควบคุมควรส่งผ่านข้อมูลไปยังมุมมอง? ในความคิดของฉันหากมุมมองคาดหวังว่าข้อมูลจากคอนโทรลเลอร์จะถูกเชื่อมโยงเข้าด้วยกันเป็นคู่ (คอนโทรลเลอร์, มุมมอง) อย่างมีประสิทธิภาพ แต่ฉันมักจะมีมุมมองการสื่อสารกับรูปแบบของตัวเองและเป็นอิสระจากตัวควบคุมใด ๆ ฉันมีแนวทางที่ถูกต้องหรือเป็นกรณีที่ไม่มีคำตอบที่ถูกต้องหรือไม่ คำตอบเปลี่ยนไปเมื่อทำงานในเว็บกับสภาพแวดล้อมอื่น ๆ หรือไม่? คำตอบเปลี่ยนไปหรือไม่เมื่อคุณมีแนวคิดเกี่ยวกับมุมมองที่พิมพ์ออกมาอย่างรุนแรง (เช่นใน ASP.NET MVC) หรือไม่?
11 architecture  mvc 

5
การเริ่มต้นสถาปัตยกรรมที่สอดคล้องกันในแอปพลิเคชันดั้งเดิม
ฉันมีความรับผิดชอบต่อเว็บไซต์ Asp.Net ขนาดใหญ่ ปัจจุบันเป็นเว็บไซต์ (ไม่ใช่เว็บแอปพลิเคชัน) บริการ windows บางอย่างและห้องสมุดคลาสจำนวนหนึ่ง ชั้นข้อมูลใช้การผสมผสานของLLBLGEN และ Linq To LLBGen เช่นเดียวกับอินสแตนซ์ของอินไลน์ SQL ดั้งเดิมที่ยังไม่ได้รับการปรับสภาพใหม่ มีการใช้งานประเภทผู้จัดการบางส่วน แต่ในหลาย ๆ กรณีแอปพลิเคชันแสดงรูปแบบการต่อต้าน Smart UI (เช่นตรรกะทางธุรกิจมากเกินไปในรหัสหลังคลาส) ไซต์นั้นมีการรับส่งข้อมูลที่สูงพอสมควรและประสิทธิภาพการทำงานก็ดี แต่เรากำลังเพิ่มขีดความสามารถในการพัฒนาของเราให้กับทีมงานประมาณ 10 คนและยิ่งชัดเจนมากขึ้นเราจำเป็นต้องมีการออกแบบเลเยอร์ที่ครอบคลุมบนมิดเดิลแวร์ที่มีอยู่ คำถามของฉันจะเริ่มตรงไหน? เรามีรหัส 10 ปี (บางส่วนยังคงเป็นเพียงแค่การย้ายข้อมูล ASP Classic) วิธีการที่แตกต่างและสไตล์ การสร้างฐานรหัสใหม่ทั้งหมดนั้นไม่จริงและอาจไม่เป็นที่ต้องการ ฉันรู้ว่านี่ไม่ใช่สถานการณ์ใหม่มีความคิดหรือแนวคิดที่มีประโยชน์เกี่ยวกับวิธีการแก้ไขปัญหานี้หรือไม่?

3
สถาปัตยกรรม Micro vs เสาหินเซิร์ฟเวอร์
ขณะนี้เรากำลังทำงานเกี่ยวกับผลิตภัณฑ์ / โครงการใหม่ของเรามันเป็นแอปพลิเคชันไคลเอนต์ - เซิร์ฟเวอร์ที่มุ่งไปยังผู้ประกอบการอุตสาหกรรม / บริการเฉพาะ เรากำลังสร้างเซิร์ฟเวอร์ (ภาษา C และ Linux เท่านั้น) ที่ใช้โปรโตคอลที่กำหนดเองบน TCP ด้วย Java front-end เรามีงานเขียนโค้ดประมาณ 20% และต้องเผชิญกับสถานการณ์ที่ต้องเลือกระหว่างสถาปัตยกรรมเคอร์เนลแบบไมโครหรือเสาหิน ฉันรู้ว่า Micro กับเสาหินมักจะเกี่ยวข้องกับสถาปัตยกรรมเคอร์เนล แต่เรากำลังพูดถึงเซิร์ฟเวอร์โดยเฉพาะ ทำไมเซิร์ฟเวอร์ที่กำหนดเองและไม่ใช่สิ่งที่มีอยู่? ความต้องการ UI ของเรานั้นมีความสำคัญและมีพลวัตมากดังนั้นโซลูชันบนเว็บ / เว็บเบราว์เซอร์จึงไม่เหมาะสม การประมวลผลเชิงสถิติมีความสำคัญในตอนท้ายของไคลเอ็นต์ดังนั้นเบราว์เซอร์ก็มีความช่วยเหลือเล็กน้อย (แน่นอนว่าเราสามารถทำการประมวลผลที่จุดสิ้นสุดของเซิร์ฟเวอร์และส่งผ่านข้อมูลที่ประมวลผลไปยังไคลเอนต์ แต่นั่นก็หมายถึงโหลดจำนวนมากบนเซิร์ฟเวอร์และการสูญเสียทรัพยากรของลูกค้า) ยิ่งไปกว่านั้นด้วยเทคโนโลยีอย่างน้อยสามอย่าง (JS / HTML / CSS) เพื่อจัดการแม้กระทั่งเหตุการณ์เดียวทำให้ประสบการณ์ทั้งหมดเหมือนการกวาดบ้านท่ามกลางพายุทะเลทราย - คุณกวาดมันเป็นครั้ง n ครั้งฝุ่นสะสม n + 1 ครั้ง แล้ว …

1
สร้างแอปพลิเคชันบริการแบบแยกส่วน
ฉันกำลังมองหาการสร้างโซลูชันใหม่ที่เป็นแบบแยกส่วนโดยธรรมชาติและต้องการสร้างโครงสร้างที่รองรับการออกแบบนั้นเพื่อให้สามารถขยายตัวในอนาคตได้อย่างง่ายดายแยกข้อกังวลออกใบอนุญาตโดยโมดูล ฯลฯ สิ่งที่ฉันทำส่วนใหญ่คือ พบได้บนเว็บเกี่ยวกับแอปพลิเคชันแบบแยกส่วนหรือคอมโพสิตคือ UI เป็นศูนย์กลางมุ่งเน้นไปที่ Silverlight, WPF และอื่น ๆ ในกรณีของฉันฉันกำลังพัฒนาแอพพลิเคชั่นบริการ WCF ที่นักพัฒนาอื่น ๆ พื้นหลัง เป้าหมายของโครงการของฉันคือการสร้างแหล่งที่มาแบบรวมศูนย์ของตรรกะทางธุรกิจ / โดเมนเพื่อสนับสนุนแอปพลิเคชันทางธุรกิจของเราหลายอย่างที่กำลังทำซ้ำกระบวนการกฎและอื่น ๆ และแม้ว่าจะไม่ได้รับประโยชน์จากโมดูลทั้งหมด โอกาสในการสร้างกรอบที่จะใช้ประโยชน์จากส่วนที่เราสามารถใช้ประโยชน์จาก ฉันเริ่มต้นการออกแบบโดยดูที่ API ที่เปิดเผยโดยแอปพลิเคชันบริการ เป็นที่ชัดเจนว่าบริการสามารถแยกออกไปตามสายโมดูลาร์ที่ฉันกำลังพิจารณา ตัวอย่างเช่นฉันจะมี FinanceService, InventoryService, PersonnelService และบริการอื่น ๆ ที่จัดกลุ่มการดำเนินงานบริการของฉันเพื่อให้มีการทำงานร่วมกันสูงใน API ในขณะที่การมีเพศสัมพันธ์ต่ำดังนั้นลูกค้าจะต้องใช้บริการที่เกี่ยวข้องกับแอปพลิเคชันของตน ฉันรู้สึกว่าฉันสามารถมีโมดูลแยกต่างหากสำหรับแต่ละบริการเหล่านี้เช่น MyApp.Finance, MyApp.Inventory, My.Personnel และอื่น ๆ ความกังวลแบบตัดขวางและประเภทที่แชร์จะอยู่ในชุดประกอบ MyApp ที่ใช้ร่วมกัน จากที่นี่ฉันจะได้รับการผูกเล็กน้อย (โอ้ฉันควรพูดถึงว่าฉันจะใช้คอนเทนเนอร์ IoC สำหรับ Dependency Injection เพื่อให้แอปพลิเคชันมีการเชื่อมต่ออย่างหลวม …

6
ฉันรู้วิธีการโปรแกรมและวิธีการเรียนรู้วิธีการเขียนโปรแกรม แต่คุณเรียนรู้วิธีการสร้างระบบได้อย่างถูกต้องที่ไหน? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว มีหลายสิ่งที่ต้องพิจารณาเมื่อสร้างระบบลองยกตัวอย่างเช่นระบบที่ทำงานบนเว็บที่ผู้ใช้ลงชื่อเข้าใช้และโต้ตอบซึ่งกันและกันการสร้างและแก้ไขเนื้อหา ตอนนี้ฉันต้องคิดเกี่ยวกับความปลอดภัยการตรวจสอบ (ฉันไม่คิดว่าฉันแน่ใจ 100% ว่าอะไรที่เกี่ยวข้อง), "ทำให้แน่ใจว่าผู้ใช้ไม่ได้ก้าวเท้ากัน" (คำนี้?) ป้องกันข้อผิดพลาดในหลาย ๆ กรณีทำให้แน่ใจว่าข้อมูลฐานข้อมูลไม่เป็นปัญหาผ่านสถานการณ์ที่ไม่คาดคิด ... ทุกสิ่งเหล่านี้ฉันไม่รู้ว่าจะเรียนที่ไหนหรืออย่างไรมีหนังสือเกี่ยวกับเรื่องแบบนี้หรือไม่? อย่างที่ฉันบอกว่าดูเหมือนว่าจะมีความแตกต่างอย่างมากระหว่างการเขียนโค้ดและการเขียนรหัสที่ถูกต้องรู้ว่าฉันหมายถึงอะไร? ฉันรู้สึกว่างานเขียนโปรแกรมในปัจจุบันของฉันขาดสิ่งที่อธิบายไว้มากและฉันสามารถเห็นปัญหาที่เกิดขึ้นในภายหลัง แล้วปัญหาก็ยากที่จะแก้เพราะข้อมูลมีอยู่และผู้คนใช้มัน ดังนั้นทุกคนสามารถชี้ให้ฉันเห็นหนังสือหรือทรัพยากรหรือชุดย่อยที่เหมาะสมของการเขียนโปรแกรม (?) สำหรับการเรียนรู้ประเภทนี้ PS: อย่าลังเลที่จะแก้ไขแท็กของฉันฉันไม่รู้ว่าฉันกำลังพูดถึงอะไร แก้ไข: ฉันถือว่าตัวอย่างบางส่วนที่ฉันเขียนนำไปใช้กับระบบประเภทอื่นเช่นกันฉันก็ไม่รู้ตัวอย่างที่ดีอื่น ๆ เพราะฉันมีส่วนเกี่ยวข้องกับงานเว็บเป็นส่วนใหญ่

4
การใช้กฎของเครื่องยนต์ส่งผลต่อการออกแบบการใช้งานและประสิทธิภาพของแอปพลิเคชันอย่างไร
ฉันสนใจความสามารถของกฎของเครื่องมือในการ: การเปิดตัวและทำซ้ำมากกว่าตรรกะเชิงธุรกิจ มี "ผู้ใช้ทางธุรกิจ" ดำเนินการแก้ไขกฎเหล่านั้นจริงแทนที่จะเป็นผู้พัฒนา เข้าใจกฎเกณฑ์ทางธุรกิจโดยทั่วไป นอกจากนี้การใช้เอ็นจินกฎมีผลกับคุณภาพของแอปพลิเคชันหรือไม่ การใช้งานเอ็นจิ้นกฎเปลี่ยนแปลงหรือไม่ถ้าคุณปรับใช้กับการตั้งค่า 1 เครื่องเทียบกับสถาปัตยกรรมของคุณเทียบกับสถาปัตยกรรมแบบกระจายหลายระดับบนคลาวด์โดยใช้เครื่องจักรนับพันเครื่องหรือไม่? แตกต่างกันอย่างไร

4
ทำไมคุณถึงใช้ MVC บนเว็บฟอร์ม
เมื่อเร็ว ๆ นี้สถาปนิกอธิบาย บริษัท ของเราว่าเสนอโซลูชัน Rolls-Royce (MVC) เมื่อสิ่งที่เขาต้องการคือโตโยต้า (เว็บฟอร์ม) ฉันอยากรู้ว่าคุณคิดอย่างไรเกี่ยวกับเว็บฟอร์มกับ MVC เป็นตัวเลือกทางสถาปัตยกรรม

5
คำอธิบายสถาปัตยกรรมเป็นเอกสารที่ละเมิดหลักการ DRY หรือไม่
หลักการของ DRY (อย่าทำซ้ำตัวเอง)ระบุว่า "ความรู้ทุกชิ้นจะต้องมีการเป็นตัวแทนเพียงหนึ่งเดียวที่ไม่น่าสงสัยและมีอำนาจในระบบ" ส่วนใหญ่เวลานี้หมายถึงรหัส แต่มักจะขยายไปยังเอกสารประกอบ ว่ากันว่าระบบซอฟต์แวร์ทุกระบบมีสถาปัตยกรรมไม่ว่าคุณจะเลือกหรือไม่ก็ตาม กล่าวอีกนัยหนึ่งซอฟต์แวร์ที่คุณสร้างมีโครงสร้างและโครงสร้าง "ตามที่สร้างขึ้น" คือสถาปัตยกรรมของซอฟต์แวร์ เนื่องจากระบบซอฟต์แวร์ในตัวมาพร้อมกับสถาปัตยกรรมการสร้างคำอธิบายสถาปัตยกรรมของระบบนั้นเป็นการละเมิดหลักการ DRY หรือไม่ ท้ายที่สุดถ้าคุณจำเป็นต้องรู้สถาปัตยกรรมคุณก็สามารถดูรหัสได้เสมอ ...

2
แอปพลิเคชันบริการเรียกฟังก์ชันฐานข้อมูลชั้น สถาปัตยกรรมไม่ดี?
สถานการณ์: สแต็ค: Java, Spring, Hibernate รุ่น: แอปพลิเคชันไคลเอนต์ - เซิร์ฟเวอร์ รูปแบบ: Model-View-Controller (MVC) คลาส Service Layer มีพฤติกรรมสามอย่าง: บริการบางอย่างมีกฎเกณฑ์ทางธุรกิจภายในวิธีการและมอบสิทธิ์ให้กับแอปพลิเคชัน ชอบ: EntityManager.save (นิติบุคคล); บริการบางอย่างเรียกฟังก์ชันฐานข้อมูล (ผ่านพารามิเตอร์) ไลค์: CallableStatement cls = con.prepareCall ("{เรียก databaseFunction (args)}"); บริการบางอย่างมีวิธีการที่มีทั้งพฤติกรรม คำถามของฉัน: มีปัญหาในการรับสายบริการโดยตรงหรือไม่ - ฟังก์ชั่นฐานข้อมูล? นี่ถือว่าเป็นการกระทำที่ไม่ดีหรือไม่? แบบจำลองสถาปัตยกรรมจะใช้กับโครงการเช่นนี้ได้อย่างไร มีปัญหาใดบ้างหรือไม่ที่มีการผสมผสานพฤติกรรมในบริการเดียวกัน เช่นการทำธุรกรรมและความสอดคล้อง? ในกรณีของการบำรุงรักษาการห่อหุ้มนี้ทำให้ผู้พัฒนาไม่ชัดเจนว่าเขาควรเปลี่ยนฟังก์ชั่นในฐานข้อมูลหรือไม่? จะหลีกเลี่ยงสิ่งนี้ได้อย่างไร สถานการณ์นี้เกิดขึ้นในแอปพลิเคชันอื่น ๆ ทั่วโลกหรือเป็นเพียงข้อผิดพลาดทางสถาปัตยกรรมหรือไม่?

2
ตัวจัดการคำสั่งและ DDD
ฉันมีแอพพลิเคชั่น ASP.NET MVC ที่ใช้บริการสอบถามเพื่อรับข้อมูลและบริการคำสั่งเพื่อส่งคำสั่ง คำถามของฉันเกี่ยวกับส่วนคำสั่ง หากมีการร้องขอเข้ามาบริการคำสั่งจะใช้โปรแกรมเลือกจ่ายงานคำสั่งที่จะกำหนดเส้นทางคำสั่งไปยังตัวจัดการคำสั่งที่กำหนดไว้ ตัวจัดการคำสั่งนี้ตรวจสอบความถูกต้องของ comand ก่อนและหากทุกอย่างเป็นที่ยอมรับก็จะดำเนินการคำสั่ง ตัวอย่างที่เป็นรูปธรรม: AddCommentToArticleCommandHandler ได้รับ AddCommentToArticleCommand ซึ่งมี ArticleId, CommentText และ EmailAddress ครั้งแรก; การตรวจสอบจะต้องเกิดขึ้นเช่น: - ตรวจสอบว่ามีบทความอยู่หรือไม่ - ตรวจสอบว่าบทความไม่ได้ปิดอยู่หรือไม่ - ตรวจสอบว่ามีการกรอกข้อความแสดงความคิดเห็นและระหว่าง 20 ถึง 500 อักขระหรือไม่ - ตรวจสอบว่ากรอกอีเมลแล้วหรือไม่ ฉันสงสัยว่าจะใช้การตรวจสอบนี้ที่ไหน 1 / ในตัวจัดการคำสั่งเอง แต่จะไม่สามารถนำกลับมาใช้ใหม่ได้ในตัวจัดการคำสั่งอื่น 2 / ในนิติบุคคลโดเมน แต่เป็นนิติบุคคลที่โดเมนไม่ทราบเกี่ยวกับที่เก็บหรือบริการจึงไม่สามารถทำการตรวจสอบที่จำเป็น (ไม่สามารถตรวจสอบว่ามีบทความ) แต่ในทางกลับกันหากเอนทิตีไม่มีตรรกะมากกว่าจะกลายเป็นที่เก็บข้อมูลอย่างง่ายซึ่งไม่เป็นไปตามหลักการ DDD 3 / ตัวจัดการคำสั่งใช้ตัวตรวจสอบความถูกต้องเพื่อให้การตรวจสอบสามารถนำกลับมาใช้ในตัวจัดการคำสั่งอื่น ๆ 4 / …

2
การครอบครองหลายครั้งหรือหลายอินสแตนซ์?
ฉันกำลังพยายามสร้างโซลูชัน SaaS ทางเว็บและฉันเข้าสู่ถนนที่ฉันไม่แน่ใจว่าจะใช้หลายผู้เช่าหรืออินสแตนซ์หลาย ฉันจะพยายามอธิบายสิ่งที่ฉันพยายามที่จะบรรลุและแต่ละวิธีข้อดีและข้อเสีย (ความเห็นของฉันตามสิ่งที่ฉันอ่าน) โปรดระบุคำแนะนำของคุณในกรณีที่ฉันพลาดอะไรในแนวทางเดียว แอปพลิเคชันที่ฉันพยายามสร้างคือดังที่ฉันกล่าวถึงโซลูชัน SaaS ที่ บริษัท สามารถสร้างบัญชีของตนเองและแต่ละบัญชี / บริษัท มีผู้ใช้ลูกค้าผลิตภัณฑ์บริการ ... ฯลฯ ผู้ใช้แต่ละคน; ใครเป็นพนักงาน บริษัท ที่เกี่ยวข้องกับหนึ่งบัญชี / บริษัท จะสามารถเข้าถึงลูกค้า บริษัท ผลิตภัณฑ์และบริการของตนเท่านั้น บริษัท ต่างๆอาจมีลูกค้าผลิตภัณฑ์และบริการไม่ จำกัด จำนวนดังนั้นแต่ละ บริษัท ควรมีศูนย์ข้อมูลของตัวเอง เพื่อที่ฉันตัดสินใจที่จะสร้างฐานข้อมูลที่ใช้ร่วมกัน (บันทึกข้อมูลประจำตัวของผู้ใช้ทั้งหมดเพื่อวัตถุประสงค์ในการเข้าสู่ระบบ) และหลายสคีมาฐานข้อมูลที่ใช้ร่วมกัน (ฐานข้อมูลต่อบัญชี / บริษัท ) โดยทั่วไปมีหลายครอบครอง จากนั้นมีคนแนะนำให้ใช้Multi Instanceแทนซึ่งแต่ละ บริษัท จะมีอินสแตนซ์ของแอปพลิเคชันของตัวเอง (เช่นรหัสห้องสมุดฐานข้อมูลกรอบงาน ... ฯลฯ ) แยกออกจาก บริษัท อื่นโดยสิ้นเชิง …

4
หากสถาปัตยกรรมไมโครบริการต้องการฐานข้อมูลที่แยกจากกันต่อไมโครเน็ตเซอร์แสดงว่ามันแพงเกินไปและไม่สามารถจัดการได้ ทำไมเราถึงต้องใช้มัน?
ฉันอ่านเกี่ยวกับ microservices และดูเหมือนว่าฉันจะสร้างฐานข้อมูลแยกต่างหากต่อบริการเพียงเพื่อให้เกิดการแยก ฉันสามารถทำสิ่งเดียวกันได้โดยใช้บริการทางเว็บและฐานข้อมูลเดียว ทำไมเราถึงต้องใช้มัน? สิ่งที่ฐานข้อมูลแยกต่างหากอยู่นอกเหนือการสนทนา หรือฉันผิดธรรมดา คุณช่วยแนะนำฉันเกี่ยวกับเรื่องนี้?

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.