Spring Cloud هو إطار الخدمة الموزعة الشهير في الوقت الحاضر ، ويوفر العديد من المكونات المفيدة. على سبيل المثال: مركز التكوين ، اكتشاف خدمة Eureka ، ناقل الرسائل ، آلية الصمامات ، إلخ.
مركز التكوين أساسي نسبيًا بين العديد من مكونات Spring Cloud. يوفر إدارة موحدة لملفات التكوين ويمكنها التبديل بسهولة إلى بيئات دون انقطاع.
هيكله المحدد كما يلي:
يعتمد Spring Cloud على SPRING BOOT ، وينفد Spring Cloud من SPRING BOOT ، لذلك تعتمد مشاريعنا على حذاء الربيع.
عادةً ما نضع ملفات التكوين على GIT ، وهو أمر سهل الاستخدام للتحكم في الإصدار. بعد ذلك ، دعنا نتحدث عن بناء مركز التكوين.
مركز التكوين
أولاً ، قدم التبعية بوم من الحذاء الربيعي وسحابة الربيع:
<RependencyManagement> <ependencies> <redence> <roupiD> org.springframework.cloud </groupId> <intifactid> عروض السحابة الزنبركية </artifactid> <soph> edgware. <Groper> org.springframework.boot </rougiD> <StifactId> عوامل الينتقيين الينبخية </artifactid> <الإصدار> 1.5.9.
هنا نحتاج إلى إلقاء نظرة فاحصة على الوثائق الرسمية. يعتمد إصدار Finchley من Spring Cloud على Spring Boot 2.0 ولا يمكنه العمل تحت SPRING BOOT 1.5. يعتمد إصدار Edgware على 1.5 ولا يعمل بشكل صحيح تحت 2.0. يجب على الجميع الانتباه إلى هذا لتجنب المتاعب غير الضرورية.
هنا نستخدم Edgware من Spring Cloud و SPRING BOOT الإصدار 1.5.
ثم اسكب التبعيات اللازمة على النحو التالي:
<ependencies> <Rependency> <roupiD> org.springframework.boot </rougiD> <Stifactid> Spring-Boot-Starter-Web </frinsid> </reperence> <redenced> <roupiD> org.springframework.cloud </groupid> </premency> </تبعيات>
أخيرًا ، اكتب فئة البدء في مركز التكوين ، على النحو التالي:
@springbootapplication@enableConfigServerPublic classeRverapplication {public static void main (string [] args) {springapplication.run (configserverapplication.class ، args) ؛ }}علامات enableConFigServer إلى أن هذه الخدمة هي خدمة مركز التكوين. تم تكوين المعلومات المحددة في ملف Application.Properties:
#Server port server.port = 9000# configuration ملف git عنوان git spring.cloud.config.server.git.uri = https: //github.com/liubo-tech
يفهم الجميع منفذ الخدمة وعنوان GIT ، والثالث هو الدليل الذي يتم فيه تكوين الملفات المؤقتة. بعد استدعاء مركز التكوين ، سيقوم مركز التكوين بسحب ملف التكوين من GIT وذاكرة التخزين المؤقت محليًا. هذا هو الدليل لذاكرة التخزين المؤقت للتكوين ، ويمكن أيضًا تكوينه دون تكوين واستخدام النظام الافتراضي. وبهذه الطريقة ، يتم إعداد مركز التكوين ، ويمكن بناء الكتلة من خلال NGINX لجعلها متاحة للغاية.
تنسيقات ملفات تكوين الوصول هي كما يلي:
/{application )/ {profile) budap/ {label )/10/ {application )- {profile ).yml/ {label)في:
مكالمات العميل
في الماضي ، تم وضع ملفات التكوين في المشاريع ، مما جعلها مزعجة للغاية عند تبديل بيئات مختلفة ، وكانت بعض المعلومات الحساسة للتكوينات تعرض للمطورين.
يمكن تجنب ذلك باستخدام مركز تكوين موحد ، دعنا نرى كيف يسميها العميل.
أولاً ، استيراد حزمة الجرة التي يجب الاعتماد عليها ، على النحو التالي:
<ependencies> <Rependency> <roupiD> org.springframework.boot </rougiD> <Stifactid> Spring-Boot-Starter-Web </frinsid> </reperence> <redence> <roupiD> org.springframework.cloud </groupid> </premency> </تبعيات>
طالما أن جرة عميل Spring Cloud Config تكون ضمن فئة المشروع ، فسوف تحصل على التكوين من مركز التكوين عند بدء المشروع ، وتحديد مركز التكوين من خلال Spring.Cloud.Config.uri الخاصية في ملف تكوين bootstrap.
هذا يجعل مشروع العميل يحتوي على ملف bootstrap.yml أو bootstrap.properties ، وإلا فلن يقوم العميل بتحميل ملف التكوين من مركز التكوين.
نقوم بإنشاء bootstrap.properties على النحو التالي:
#Configure عنوان المركز spring.cloud.config.uri = http: // localhost: 9000
حدد عنوان مركز التكوين. في المثال أعلاه ، نحدد 9000 من منفذ مركز التكوين. نقوم بتكوين اسم التطبيق في ملف Application.Properties:
spring.application.name = eg-config
يسمى تطبيقنا "eg-config". عند بدء تشغيل المشروع ، سيتم تحميل ملف EG-Config من مركز التكوين. بعد ذلك ، لنقم على سبيل المثال ، إنشاء فول وحقن قيم من مركز التكوين
ComponentPublic Class MyBean {value ("$ {my.name}") اسم السلسلة الخاصة ؛ السلسلة العامة getName () {return name ؛ } public void setName (اسم السلسلة) {this.name = name ؛ }}حيث سيتم تحميل الاسم الخاصية my.name من مركز التكوين. فئة بدء التشغيل كما يلي:
springbootapplicationpublicpublic application {public static void main (string [] args) {configurableApplicationContext ApplicationContext = springapplication.run (application.class ، args) ؛ // احصل على الفول وطباعة حقل الاسم mybean bean = applicationContext.getBean (mybean.class) ؛ system.out.println (bean.getName ()) ؛ }} بعد بدء التشغيل ، تكون نتائج طباعة وحدة التحكم على النحو التالي: test
سيتم تقديم هذا في مركز التكوين. للحصول على التفاصيل ، يرجى الرجوع إلى مثال المشروع: https://github.com/liubo-tech/spring-cloud-config.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.