ข้อผิดพลาดในตัวทำงานเกตเวย์ API Manager 2.0.0 เมื่อเริ่มต้นระบบ

ข้อผิดพลาดต่อไปนี้ถูกบันทึกไว้บนโหนดของผู้ปฏิบัติงานเกตเวย์เมื่อเริ่มต้นระบบ

2016-08-23 12:32:42,344 [-] [Timer-5] ERROR KeyTemplateRetriever Exception when retrieving throttling data from remote endpoint
Unexpected character (<) at position 0.
    at org.json.simple.parser.Yylex.yylex(Unknown Source)
    at org.json.simple.parser.JSONParser.nextToken(Unknown Source)
    at org.json.simple.parser.JSONParser.parse(Unknown Source)
    at org.json.simple.parser.JSONParser.parse(Unknown Source)
    at org.json.simple.parser.JSONParser.parse(Unknown Source)
    at org.wso2.carbon.apimgt.gateway.throttling.util.KeyTemplateRetriever.retrieveKeyTemplateData(KeyTemplateRetriever.java:100)
    at org.wso2.carbon.apimgt.gateway.throttling.util.KeyTemplateRetriever.loadKeyTemplatesFromWebService(KeyTemplateRetriever.java:111)
    at org.wso2.carbon.apimgt.gateway.throttling.util.KeyTemplateRetriever.run(KeyTemplateRetriever.java:54)
    at java.util.TimerThread.mainLoop(Timer.java:555)
    at java.util.TimerThread.run(Timer.java:505)

แม้ว่าจะมีข้อผิดพลาด แต่โหนดของผู้ปฏิบัติงานเกตเวย์จะเริ่มทำงานและสภาพแวดล้อมสามารถใช้เพื่อเรียกใช้ API ตัวอย่างได้สำเร็จ

โหนด apim ทั้งหมดจะระงับตัวจัดการการรับส่งข้อมูล อย่างไรก็ตาม ให้รายงานคำเตือนเหล่านี้

2016-08-22 16:40:56,652 [-] [Timer-5]  WARN KeyTemplateRetriever Failed retrieving throttling data from remote endpoint: Connection refused. Retrying after 15 seconds...
2016-08-22 16:40:56,653 [-] [Timer-4]  WARN BlockingConditionRetriever Failed retrieving Blocking Conditions from remote endpoint: Connection refused. Retrying after 15 seconds...

สิ่งแวดล้อม:

  • คลัสเตอร์ APIM 2.0.0
  • ผู้จัดพิมพ์ (โปรไฟล์เริ่มต้น)
  • ร้านค้า (โปรไฟล์เริ่มต้น)
  • ผู้จัดการ gw และพนักงาน 2 gw (โปรไฟล์เริ่มต้น)
  • ผู้จัดการจราจร (ใช้โปรไฟล์ผู้จัดการจราจร)
  • ฐานข้อมูล: เซิร์ฟเวอร์ MariaDB, wsrep_25.10.r4144
  • Userstore : อ่าน/เขียน LDAP
  • JVM: เวอร์ชันจาวา "1.8.0_92"
  • ระบบปฏิบัติการ: CentOS Linux รีลีส 7.0.1406 (คอร์)
  • ไม่มี ตัวจัดการคีย์ไม่ได้กำหนดค่าโดยใช้การตั้งค่าแพ็คเริ่มต้น

person Simon Trimboy    schedule 23.08.2016    source แหล่งที่มา
comment
คุณเห็นข้อผิดพลาดในบันทึกของผู้จัดการคีย์หรือไม่   -  person Bee    schedule 23.08.2016
comment
ไม่ เราได้พยายามลดขนาดพื้นที่ให้เหลือน้อยที่สุด และไม่ปรับใช้ตัวจัดการคีย์เฉพาะซึ่งใช้ได้กับเวอร์ชัน 1.9.1 น่าเสียดายที่สิ่งนี้มีผลข้างเคียงจากการไม่สามารถใช้ประโยชน์จากโปรไฟล์ผลิตภัณฑ์ที่เหมาะสมสำหรับผับ ร้านค้า และเกตเวย์ได้   -  person Simon Trimboy    schedule 23.08.2016
comment
คุณหมายถึงคุณมี keymanger และคนทำงานเกตเวย์ด้วยกันในเซิร์ฟเวอร์เดียวกันใช่ไหม   -  person Bee    schedule 23.08.2016
comment
ไม่จริงๆ แล้วเรายังไม่ได้สร้างผู้จัดการคีย์ ก่อนการเปิดตัวครั้งนี้และการเปิดตัวส่วนประกอบตัวจัดการการรับส่งข้อมูล เราสามารถทำงานได้โดยไม่ต้องกำหนดค่าตัวจัดการคีย์   -  person Simon Trimboy    schedule 23.08.2016
comment
คุณไม่ได้ใช้ OAuth2 เพื่อรักษาความปลอดภัย API ใช่ไหม คุณช่วยอธิบาย usecase ของคุณหน่อยได้ไหม?   -  person Bee    schedule 23.08.2016
comment
ขออภัย นี่เป็นสภาพแวดล้อมสาธิตเพิ่มเติมเกี่ยวกับการแสดงการใช้หุ่นเชิดและเครื่องมืออัตโนมัติบนคลาวด์ hashicorp เพื่อสร้าง wso2 แบบกระจาย อย่างไรก็ตาม เราต้องการแสดงสิ่งที่ถือเป็นการใช้งานแบบกระจายขั้นต่ำที่เป็นไปได้ คุณจะแนะนำโหนดเฉพาะสำหรับแต่ละโปรไฟล์ผลิตภัณฑ์หรือไม่   -  person Simon Trimboy    schedule 23.08.2016
comment
1) จำเป็นต้องมีตัวจัดการการจราจรเฉพาะเมื่อคุณใช้เครื่องมือควบคุมปริมาณใหม่ 2) หากคุณไม่ต้องการให้ร้านค้าถูกเปิดเผยสู่ภายนอก คุณสามารถมีทั้งร้านค้าและผู้จัดพิมพ์ในโหนดเดียวกันได้ 3) ดีกว่าที่จะมีโหนดแยกสำหรับเกตเวย์และผู้จัดการคีย์   -  person Bee    schedule 23.08.2016
comment
ดูคำตอบของฉันเพื่อกำจัดข้อผิดพลาดข้างต้น เนื่องจากคุณไม่มีผู้จัดการหลัก   -  person Bee    schedule 23.08.2016


คำตอบ (2)


หากคุณปิดใช้งานการควบคุมการควบคุมขั้นสูงใน api-manager.xml เหมือนด้านล่าง ข้อผิดพลาดนั้นจะหายไป หากคุณเปิดใช้งาน จะต้องมีโหนดตัวจัดการคีย์

<EnableAdvanceThrottling>false</EnableAdvanceThrottling>
person Bee    schedule 23.08.2016
comment
ฉันมีการตั้งค่าที่ใช้ WSO2 Key Manager สำหรับการตรวจสอบสิทธิ์และผู้จัดการคีย์บุคคลที่สามสำหรับการอนุญาต ในกรณีนี้เราต้องกำหนดค่านี้อย่างไร? - person Chintha; 08.05.2018

ฉันพบปัญหาเมื่อเร็วๆ นี้ และปัญหาคือ throttle#data#v1.war (repository/deployment/server/webapps/throttle#data#v1.war) ไม่ได้ถูกปรับใช้ในขณะที่ผู้ปฏิบัติงานเริ่มทำงาน หากคุณมีการใช้งาน AM 2.0 แบบกระจาย ตรวจสอบให้แน่ใจว่า Keymanager เปิดใช้งานแล้ว และ throttle#data#v1.war ถูกปรับใช้ใน keymanager ก่อนที่ผู้ปฏิบัติงานจะทำการ srartup

person Supun Malinga    schedule 25.08.2016
comment
การปรับใช้ของเขาค่อนข้างแปลก เขาไม่มีโหนดตัวจัดการคีย์ - person Bee; 25.08.2016
comment
บางโหนดควรมีฟังก์ชันการทำงานของ keymanager .. ดังนั้นโหนดนั้นควรปรับใช้ webapp .. ชื่อโฮสต์ KeyManager ที่ใช้สำหรับจุดสิ้นสุดของ webapp นั้นได้มาจากการกำหนดค่า RevoidAPIURL (ใน api-manager.xml) ภายใน - person Supun Malinga; 25.08.2016
comment
เราจำเป็นต้องกำหนดค่า RevoidAPIURL ในอินสแตนซ์เกตเวย์หรือไม่ ตามเอกสารประกอบ RevoidAPIURL ควรได้รับการกำหนดค่าใน API Store ให้ชี้ไปที่เกตเวย์ - person Chintha; 08.05.2018