
�ڷ���“Ͷ��Ͷ��һ�廯”��Ʒ��������������,���ֶ�����������������ļ������ۻ�����,��������ȫ�����з�,��ʵ�ֶ�ҵ��ģ�������ȶ�ͨѶ��C++RPC�ֲ�ʽͨѶ��� –xRPC��xRPC�ǹ���������������������,����C++��RPCͨѶ���,�ɹ㷺Ӧ���ڽ��������и������������ݴ�������Ķ�ҵ���ͨѶ����,�ǽ�����ҵʵ�ּ���ʽҵ����̨,���ҵ��以����ͨ�ĺ���ͨѶ������
һ��Ͷ��Ͷ��һ�廯�Ķ�ҵ����Ҫ�ֲ�ʽͨѶ���֧��
���ֶ����Գ�������רע�������������ʲ�����ҵ���е�̽����ʵ��,���ý��ڹ���+��������Ϊ�ص����������,���ֶ����Ⱥ�½��������������Խ����ն�AT�����Լ���ҵ����̨iMOM��SMDָ������ϵͳ������Ͷ�в�Ʒ��ҵ��������Ͷ������,�о�����,�ٵ�����Ͷ���ֻ��˵�����Ͷ��Ͷ�˲�Ʒ��,��Ʒ��Ȼ�����ϵ,�ֻ����������������������,2017��,���ֶ���������ʹ�ҵ�����“Ͷ��Ͷ��һ�廯”����������,Ŀǰ��ȯ�̡��ڻ���ļ����˾�Ѿ�½�����Ӧ�ð�����
���ֶ��ܻ��������Ƽ��Ĵ��²�����δֹͣ,��ʵ����,“Ͷ��Ͷ��һ�廯”��������Բ�ƷΪ���ĵ����ģʽ��ӭ������ı����Ͷ��Ͷ���еĴ������ƻ���ҵ����������ܳ������ӵ��ص�,���������Ʒ����Ҫ����粿�š���ҵ�ೡ��ҵ�����Ϻ�ҵ�������ͨѶ���⡣Ҫ������Ͷ��ǰ�ˡ�������̨��ҵ��ת����Ͷ��Ͷ��һ�廯�������,һ��������ϸ���ҵ��ϸ���ȸ��ߡ� �����Ը�ǿ��Ͷ�м���ҵ��ƽ̨��Ϊ����ʵ�ֵ��ѵ㡣�����Щ�������Ҫ�ؼ���������,�Ƿ���Թ�����һ��ͳһ��ͨѶ��ʽ,�ȿ�������ҵ��/Ӧ�ü��ͨѶ��Ҫ,��Ҫ��˽�����ҵ�����ȶ����Ե�ͨѶ��ܡ��ڶ�����Ͷ��ҵ��ģ��Ŀ���������,ͨ��Լ���ķֲ�ʽͨѶЭ��,ʵ�ַ�������ͨѶ��ҵ���ձ���õ�RPCͨѶ��ʽ��Ϊ����ѡ��
����ͨ��RPC��ܽ���
Remote Prodecure Call�dz�����Զ�̵��õļ��,ҵ��Ŀǰ�ձ����RPCʵ�ֳ�������,һ������RPC���ù�����ͼ1��ʾ:

ͼ1
��ͼ1,��������֮���ܹ�ͨ�ŵ�ǰ��,����Ҫ��һ�������ֻ��ơ���ͳ��������˫����Լ���õ�ַ,�ڸ���������ǰ֪���Է���ַ��ǰ����ʵ��ͨѶ,���ַ�ʽ�о�̬·�ɡ���̬·�ɵ�ͨѶ��ʽ��һ������¿�������ij�����������������ҵ��ķ�չ,���������������þ�̬·�ɱ�ú�����������,ͬʱ��̨�����ж�̬�����ߵ�����,��̬·�ɱ����²���ʱ������һϵ�����⡣Ϊ�˽����̬·������,��RPC��������˷���ע��������ʵ�ֶ�̬·�ɵĹ��ܡ�����ͼ2��ʾ:

ͼ2(ע:��ͼʡ�������л�/�����л�,����ʱ�������Լ������IJ���)
��̬·�ɸı���ԭ����Ӧ�÷�ʽ,�����÷�����������ʱ��,�Ȱ������ĵ�ַע�ᵽ����ע�����ġ����÷�����RPC����֮ǰ,�ȵ�����ע�����������ȡ�����÷��ĵ�ַ��Ϣ����ܷ���RPC����
����xRPC��ܵ����
���ֶ����ڽ��Ͷ��Ͷ��һ�廯���������,һЩ�������(��ز⡢��Ƶ���ݴ����)������Ϣ����Ƶ��,���ݲ����������Ϣ���������,���ܻ����Ӳ����Դ��������Դ����,ͨѶЧ�ܽ��͵��������ʵ����,������ΪRPC��ܻ�Ӧ�и���ĸĽ��ռ�,���ֶ��ܼܹ������ָĽ�RPCͨѶ���,������Ӧ�ü��ͨѶЧ��,�����Ϣ�������ȶ��ԡ�
�ġ�xRPC�����Ŀ��
A��ǿ��������(�������ȡ�������������)Ӧ�ó���
B����Ҫ���������ĸ������ݴ���֧��
C�������ݿɿ���У����ȶ�ͨѶ֧��
D����ҪΪ����/Ӧ���ṩ����Ч�Ĵ��첽��������
E����ǿRPC��̬·���㷨
xRPC�����Ŀ����Ϊ�˸��õ���������ҵ���ĸ����������ȶ��Ժͼ��ٴ�����Ҫ�ķ���/Ӧ�ü���á�ͨ���Դ�ͳ��RPCͨѶ��ܽ���ȫ�����,xRPC�Է�����ͨѶ�ȶ��ԡ��ɿ��Ժ�ͨѶ���ܽ���������Ż���xRPC�ֲ�ʽ���Э��������������������(�ر�������Ͷ��Ͷ�˵�Ӧ�ó���)�Ĵ��첽�����ܿ�ܡ�

xRPC��ͨѶ��ʽʾ��ͼ
�塢xRPC��ܵ��ص�
1��xRPC�Դ�����ע�����ĺͶ�̬·�ɷ�ʽ
������RPC��ܲ�ͬ,xRPCͬʱ���ػ�����һ��·�ɱ�����Ӧ�÷�������ʱ,xPRCЭ���Ҫ��Ӧ�÷�������������з�����Ϣ�Լ������ַע�ᵽ����ע���������������ʱ,�������·�ɵĹ�����û�з�����Ӧ�ķ����ַ��Ϣ,xRPC�����Э��Լ��,�ȵ�����ע�����Ļ�ȡ��Ӧ����ĵ�ַ��Ϣ,�ɱ���·�ɹ�����ֱ��ʹ�ó����ӵ��Է���·�ɹ�������,��������ٴη��͵�ͬһ�����������ʱ��,������Ҫ�ӷ���ע�����Ļ�ȡ, ����˫���DZ������ӵ�, �ܹ�ֱ�Ӹ�֪�Է���״̬, ����Ҫ��ͨ������ע������, ���ַ�ʽͬʱҲ�ܹ��ܺõĽ��ͷ���ע�����ĵ�ѹ����
2��xRPCȫ����Ƶĸ��������л�����
�����������ڵ�ҵ��ʹ���ص�,���ض�ҵ����������������佻����ֱ�Ӵ��۾��������˷����ͨѶѹ��,�Է��������õ�����Ҫ���ü�����̡�xPRC��RPC����е����л���ʽ����ȫ������ع�,��Ƴ���һ�������ܵ����л��뷴���л��ķ���,�������������ڶ�����Ҫ������̵ij�����
xSerial:ȫ�µĸ���RPC�����л�����
A�����������͵ĸĽ�
xRPC�������л���������ΪxSerial,xSerialĿǰ����֧�ֻ�������֮��, ��֧����list��set��map��xSerial�����л�֮ǰ,���Կ��ٲ��Ҿ�ȷ�ļ�����������л������ռ�õ��ڴ��С,��ǰ����ö�Ӧ��С���ڴ�,�����������л��м�Ҫ���л���Ҫ��̬�����ڴ�Ķ�����������������ʧ��xSerial��C++��ʹ�÷�������:

B�������л�������IDL�ĸĽ�
��ʹ�õı������, �����л��뷴���л��ķ���,�����ȱ�дһ��IDL�ļ�,ͨ��IDL�����ɸ������ԵĴ��롣xSerialҲ���Լ���IDL֧��,���������˸Ľ�, xSerial��IDL���Խ����Ӧ��xRPCԭ���������ںϡ�Ҳ����˵,���xRPC������C++��,xSerial����Ӧ�ṩһ��C++���������,�Զ�ȥɨ��C++�Ĵ���,ʶ���Ҫ�������л��Ĵ���,ʹ���������ٶ����дIDL�ļ���ĿǰxSerial��IDL֧��ԭ��Go,C#, JAVA,Matlab��Python��
C��֧�ֶ�̬�������л�
xSerial����֧�־�̬��������л���ʽ֮��,ͬʱ�����˶�̬�������л���ʹ��֧�֡���xRPC��ܵ����л�������,xSerial�����������ɾ�̬�����ʱ��,��ͬʱ���ɶ�Ӧ��Json����,����xRPCͨѶ������,���������Ӧ�÷������ֱ�ӵ���xSerial��Json����,����ͨѶ���ݽ��ж�̬�����л��뷴���л���
3��xRPC���ص�ͨѶ��:�ӿں�ͨѶ������������
��ͨѶ�Ϻ�����RPC��ܲ�һ��,һ��RPC��ܵ�ͨѶ��ʽ���Ǿ�����Ψһ��,ͬʱһ��RPC���Ĭ�����е�Ӧ�ö��Ƕ������̵ġ�xRPC��ͨѶ�����Ϊ�ӿ�,ʹ��ͨѶ��ø�������xRPC�����û�ֻ�趨��ӿ�,�����ͨѶ��ʽ�ɵײ����о�����xRPC��������Ӧ�ò�����ͬһ��������,���Զ��ж�Ӧ���Ƿ�ͬһ������,ѡ����Ϣ�Ĵ�����ͨ���ڴ潻����������(xRPC���������ͨѶ,������TCP)��������ʹ���������ڵ�һЩ�ض�Ӧ�ó���,��:��ij���������Ĵ������ݸ��ٽ������̿���ȫ����������ͨѶ���ġ�
4��xRPCʹ���ص�:������ֻ�ܻ��ڵ��ÿ��
xRPC�ĵ��ú�����RPC�ĵ��÷�ʽ��һ��,xRPC�ĵ��ñ�����ڵ��ÿ�ܲ��ܷ�������,�����ױ��ⳣ����Callback Hell���⡣ͨ��һ������,����xRPC����ν����������:
A�����͵���RPC����

B�����Ͷ��˳���RPC����

����ͼ���Կ���(ע:����Exception��Finally),������SayHello֮��,���䷵�غ���Then����,ֻҪ����Next����,���Ҵ��������һ��RPC������IJ���,���ɼ���������һ��RPC����,���������ڵ�����SayHello2,����SayHello2�ķ��غ������������SayHello3,���ֱ�д�ķ�ʽʹ�úܺõĽ����CallBack Hell������,�ô����ά���Ը��á�
C�� ͬʱ���Ͷ��RPC����

ͬʱ���Ͷ��RPC����,ʹ�õĵ��ÿ����BPParallelRPC,����ͬʱ���͵���������,������Then��������,�ֱ�ȡ������RPC����������
����ͨ����xRPCʹ�õķ�������,������Ϊʲô����ͨ�����ÿ��������RPC����,����RPC�Ķ���ֻ��Ҫ����һ�μ��ɡ�����ʹ��ֻ��Ҫ��������RPC�ĵ��ÿ��,������Ҫȥ��RPC�Ķ���,ͬʱÿһ��RPC����ע�ᵽRPC�������������,�����RPC�����ش�����ʱ�ȹ�����
xRPC��Ψһ���������ҵ�Ĵ�C++�ֲ�ʽRPC���
����Ϊʲô��Ҫ�����������ڵķֲ�ʽͨѶ���
�����ȶ��ķֲ�ʽͨѶ�����ʵ��ҵ����̨�Ĺؼ�����
ҵ����̨��,�����ǽ�����ҵ�����ͨ��һ����̨�ڱ˴˼�ʵ�ֻ�����ͨ�����ҵ����̨�������,����Ҫ���ǵĺ�����������ΰѶಿ�Ŷೡ���ĸ���ҵ���Ѹ�ٽ��벢ʵ�����ɽ���ͨѶ������������Ĺؼ�,��ӵ��һ���ȶ���Ч�ķֲ�ʽͨѶ��ܡ������ṩ���÷ֲ�ʽ��ܽ��������Ŀǰ���й��ڼ��������ҿƼ���˾,�������ṩ���������ҵ�ķֲ�ʽ��ܸ�����֮����,�����Ͻ����SofaRPC�ֲ�ʽ���������SOFARPC ����Դ�ڰ����ڲ��� HSF,�ǽ������Ͻ����Դ��һ���߿���չ�ԡ������ܡ��������� Java RPC ��ܡ��������ڼ�Ӧ��֮��� RPC ����,ΪӦ���ṩ���������ȶ���Ч�ĵ�Ե�Զ�̷�����÷�����
���ֶ��ܷ�����xRPC�����SofaRPC���,ӵ�и���Ч��ִ��Ч�ܺ����������ĵ��÷������ص㡣�������������ڴ���Ҫ������ض��������,�ڶ�̬·�ɡ����л�������ͨѶ��Э���н����˴�������������,��һ���ȶ����ٵ�C++ RPC��ܡ�ƾ�����ֶ�����������������ļ�������,xRPC���ʺ�Ӧ�����������ڡ�Ͷ��Ͷ������ĸ������ͺ������ݴ��䳡��,��ʵ���ڲ�ͬ��ҵ��,��:�ز�ִ�С�ʵʱ���鶩�ġ��������ݴ�ȡ�����ӽ���ָ�����,���������ȷ���������Ϣ�����������������ֶ��������з���C++RPC�ֲ�ʽͨѶ������,��ζ��“Ͷ��Ͷ��һ�廯”��Ʒ����������Χ�Ʋ�Ʒ�ķ���ʵʩ,��Ͷ��Ͷ�˼���ҵ����̨��ս��ת�䡣ӵ��һ���ֲ�ʽͨѶ��ܼ���,�Ǻ���һ�����ڿƼ���˾�Ƿ�����ҵ��(����)��̨���ļ����Ĺؼ������ֶ�����ӵ�п��ö�ҵ���ɸ����ȶ�����ͨѶ��ҵ����̨���ļ�����

��Ҫ�˽����Ĺ���xRPC�ļ���ϸ��,����ͨ�����·�ʽ��ϵ���ǻ�ȡ:
�绰:400-1860-552
����:Contact@bitpower.com.cm
�������ѽ�����
-
��һƪ�����·����·��Jeep���ɹ����������
��һƪ��û����
